菜鸟问一个VB问题(有关循环)

执行下列程序段后,变量t 的值是______。
t = 0
For x = 2 To 3
n = 1
Do While n<=x
t = t + n
n = n + 1
Loop
Next x
答案是9 可我怎么也算不对。
我是这样的:
第一次循环:
x=2,n=1,t=0
后来n=2,t=1
第二次循环:
x=2,n=2,t=1
后来n=3,t=3
第三次循环:
x=3,n=3,t=3
后来n=4,t=6
由于此时n>x,循环结束,输出t=6。哪里错了呢?

适当加几句Print参与分析
Option Explicit
Dim t, n, x
Private Sub Command1_Click()
t = 0
For x = 2 To 3
n = 1
Do While n <= x
t = t + n
n = n + 1
Print "Do Loop"; "X="; x; "n="; n; "t="; t
Loop
Print "For Next"; "X="; x; "n="; n; "t="; t
Next x
Print "X="; x; "n="; n; "t="; t
End Sub
温馨提示:内容为网友见解,仅供参考
第1个回答  2008-02-03
老大在退出第一次while循环以后 n又等于1了

晕!!!
n=1在for里面 你那么算应该把n放在for外面

VB FOR循环菜鸟问题
For k = 1 To 2 x = x + 6 Next k Next j 同理,第二层循环x也是定植,所以也相当于给x赋值,所以源程序等价于:x = 4 x = 3 For k = 1 To 2 x = x + 6 Next k 根据赋值原理,变量等于后赋的值,x=4相当于没写一样,所以有简化一下:x = 3 For k = 1 To 2 x = ...

菜鸟vb 循环开始和暂停的问题
这边我用一个键按一下暂停,再按继续,再按暂停 Dim pauseok As Boolean Dim num& Private Sub ForNext()For i = num To 50000‘这里可以设置要循环的次数 If Not pauseok Then Me.Caption = i DoEvents '这句不能少,否则程序不会停 Else num = i Exit For End If '循环中要执行的...

菜鸟vb 循环开始和暂停的问题
Basic中的循环语句 在 VBScript 中可使用下列循环语句: Do...Loop: 当(或直到)条件为 True 时循环。 While...Wend: 当条件为 True 时循环。 For...Next: 指定循环次数,使用计数器重复运行语句。 For Each...Next: 对于集合中的每项或数组中的每个元素,重复执行一组语句。...

一些vb的菜鸟题,求大神讲明为什么这么选(╥ω╥`) ,金币采纳前...
15 题在循环后面 erase 了 X ,所有数组 X 已经被清空了。实际上这里应该报错的。26 题 x 一直没变,三个给a赋值的IF实际上是并列的, a在3个IF里都满足条件,都被赋值,但最后一个IF的赋值才被输出,而最后的IF 里a = x , x=1 所以输出是两个1 ...

vb小程序!关于无限循环死机的问题,菜鸟,
这10亿你是怎么计算出来的?编程中循环不能用实际中计数的方式...还得考虑内存,CPU优先级,而且这个运行不能靠显示多少来确认的,如果是死循环不要说秒,就是以毫秒算都不及亿数!

VB程序中循环语句1次正1次负
在这段代码中,t 在循环体中只有一次赋值,目前你是 t=-t 意为取反,则每执行一次循环体,t 的值就会发生一次正负的改变,也就是你说的,一下 +1 一下 -1 ,如果换成 t=2 则t 的值不会发生改变,因为每次执行循环体都会将 t 的值更新为 2 。

VB的函数问题和do while语句的一些问题~
故使用这类函数时,需要使用ctime将数据转换成时间型数据。2、do while ……loop是指:“当……时,一直继续做……”。比如当a不等于10的时候,窗口一直输出a+1后的值。Private Sub Command1_Click()Dim a As Integer Do While (a <> 10)a = a + 1 Print a Loop End Sub ...

VB菜鸟发问了!
start_end: Err = WD_AI_ContBufferReset(card)我觉得在程序前面一定有一句 ON error goto start_end start_end就是错误处理栏,我们通常叫它error bar err就是出现的错误

VB 编成问题。急!
1、end 是完全结束程序进程,STOP是中断,进程未退出 2、Private Sub command1_Click()Dim TextLine Open "TESTFILE" For Input As #1 ' 打开文件。Do While Not EOF(1) ' 循环至文件尾。Line Input #1, A ' 读入第一个值到A Line Input #1, B ' 读入第二个值到B Line ...

一个关于VB查找的菜鸟问题
RichTextBox1.SelStart = RichTextBox1.SelStart + RichTextBox1.SelLength + 1 将开始查找的位置定位到光标以后即开始查找下一个的位置 RichTextBox1.find sfind, , Len(RichTextBox1)在上一句定义的起始位置和整个文本末尾之间查找sfind 中间那个空着的参数应该默认是“从光标处开始查找”...

相似回答
大家正在搜