vb的一个计算问题

来源:百度知道 编辑:UC知道 时间:2024/09/23 17:12:11
For i= 3 To 1
x=x+1
Next

已知i=0,x=0,
现在1求x,x为什么是0啊?
如果是i的3和1的位置错误,系统为什么不提示错误?

因为这个循环都没执行过。所以i=0 x=0
for i = 3 to 1 是从大到小。而你没设置步进为负数 默认是 1
所以根本就不能循环

vb中for循环的格式
for i=n to m step k
其中k指的是步长,也就是循环一次间隔多少的意思
特别的是,当循环从较大的数向较小的数循环时,就是你题目这样的情况,step应该是负值,所以你的程序改成

For i= 3 To 1 step -1
x=x+1
Next

就正确了,因为如果没有step的话,系统默认是1,如果有特殊的要求,步长是一定要写出来的。

这段代码没有任何错误,因此系统不提示。但在进入循环前系统会判断根据初值和步长能否到达终值,如果能,就执行循环体;如果不能则直接跳过循环,执行后面的语句。在这里初值为9,终值为1,步长为1(如果不写,默认为1),因此根据初值和步长不能到达终值,呖这个循环没被执行。所以x是0。