高手请教:下面程序循环后,为什么会是那样的结果?请详细说明其执行过程,谢谢。

Private Sub Form_Click()For a = 1 To 3For b = 1 To 3For c = 1 To 3Print a, b, cNext cNext bNext aEnd Sub
2025-06-22 22:50:04
推荐回答(2个)
回答1:

为了说明问题方便,现用一个二重循环来解释这个运行结果:
for a=1 to 2
for b=1 to 2
rint a,b
next b
next a

run:
1 1
1 2
2 1
2 2

这是一个二重循环,当外层循环取一个值(a=1)时,内循环要完整的循环一遍(b=1,2),内循环完成后,外循环再取一个第2个值(a=2),内循环又要完整循环一遍(b=1,2).由于输出语句为:
Print a,b
这个输出语句是一个标准格式的,末尾没有标点符号,每输出一次会自动换行。现看输出结果:当a=1时,b第一次取1,接着输出:1 1 (前面的1是a 的值,后面的1是b的值,下同)
b第二次取2,接着输出:1 2
a=2时, b第一次取1,接着输出:2 1
b第二次取2,接着输出:2 2

对于三重循环,道理一样:外循环每陬一个值,内循环就要完整循环一遍!

回答2:

把Print a, b, c 改成 Debug.Print a, b, c
自己按F8慢慢研究吧。