VB的for循环问题

来源:百度知道 编辑:UC知道 时间:2024/05/09 06:24:14
为什么以下两个循环的i 不相等??
for i = 0 to 5
i= i + 1
next
msgbox i '这里i为6
----------------------
for i = 1 to 5
i= i + 1
next
msgbox i '这里的i却为7
---------
为什么??望有人能详细说明一下
王子008啊,我要问的是循环体啊,不是msgbox函数.

LiWei_2008的回答让我明白了,原来我忘了FOR循环的计数变量,会随循环而递增.现在知道是什么回事了.

变量I作为FOR循环的计数变量,会随循环而递增,因此在循环体内建议不要修改它的值,在你的程序中把I放在了循环体内,并修改了它的值,因此容易产生错误,建议再声明一个变量,然后进行递加。

这其实很简单..你首先要理解for i = 0 to 5的含义,这里其实就相当与i=i+1
在for i = 0 to 5时
在循环中i分别等于1,3,5,然后最好执行一次i+1跳出此时i=6
在for i = 1 to 5时
在循环中i分别等于2,4,6,然后最好执行一次i+1跳出此时i=7
如果还不理解..你可以把程序修改为以下形式
for i = 0 to 5
i= i + 1
print i
next
msgbox i '这里i为6
----------------------
for i = 1 to 5
i= i + 1
print i
next
msgbox i '这里的i却为7
这样i的变化就很明显啦

MsgBox 函数
在对话框中显示消息,等待用户单击按钮,并返回一个值指示用户单击的按钮。

MsgBox(prompt[, buttons][, title][, helpfile, context])

参数
prompt

作为消息显示在对话框中的字符串表达式。prompt 的最大长度大约是 1024 个字符,这取决于所使用的字符的宽度。如果 prompt 中包含多个行,则可在各行之间用回车符 (Chr(13))、换行符 (Chr(10)) 或回车换行符的组合 (Chr(13) & Chr(10)) 分隔各行。

Buttons

数值表达式,是表示指定显示按钮的数目和类型、使用的图标样式,默认按钮的标识以及消息框样式的数值的总和。有关数值,请参阅“设置”部分。如果省略,则 buttons 的默认值为 0。

Title

显示在对话框标题栏中的字符串表达式。如果省略 title