注册 登录
编程论坛 VB6论坛

新手求助一小小段程序问题

shy_117 发布于 2012-02-07 11:23, 360 次点击
Cls
X = 5
For X = 1 To X
  X = X + 1
  Print X;
Next
这段程序运行结果是2,本人想不出这个结果是怎么得来的,恳请高手帮忙!!谢谢!
4 回复
#2
lowxiong2012-02-07 12:03
这个程序只执行循环一次
X = 5   '赋初值,必须要,否则在里不能循环,没有输出
For X = 1 To X  '此时初始值为1,被判断值是5,由于不大于1,所以进入循环
 X = X + 1  '此时x=2了
 Print X;  ’输出结果2
Next      '进入下个循环,被判断值为2,判断值碰到next语句即+1,等于3,3>2,即停止循环
这段代码在里会输出2,4,6三个数停止循环,可见得在里被判断值5一直不改变,而vb6是next语句先+1,后判断,再将值赋给x。
#3
shy_1172012-02-07 12:26
谢谢!学习了
#4
lowxiong2012-02-07 12:44
刚回家用vb6试了,如果先声明x变量为integer时输出246,如果没声明x,输出的是2,这个还有待探究(大概和默认变量类型有关)。
#5
老顽童9892012-06-22 19:22
Cls
X = 5
For I  = 1 To X
  X = X + 1
  Print I;
Next
显示的是 1,2,3,4,5 。X=X+1 怎么没发挥作用啊!
1