三角警示牌哪里有卖:看看这个程序.为什么答案是2呢?它如何执行?

来源:百度文库 编辑:查人人中国名人网 时间:2024/05/06 05:00:16
Private Sub Command1_Click()
x = 0
Do Until x = -1
a = Val(InputBox("A值"))
b = Val(InputBox("B值"))
x = Val(InputBox("x值"))
a = a + b + x
Loop
Print a
End Sub
依次输入5 4 3 2 1 -1
是不是CLICK COMMAND1 ,检验x的值,不是-1,弹出,输入5 4 3.计算a=a+b+x,值为12, 反回DO,检验X不为-1,弹出,输入2 1 -1,计算a=a+b+x,返回DO,检验X为-1,print a?那a值不是14吗?

你这个程序循环没起到作用,结果始终是倒数第二次输入的a,b的值减1.
只要你输入的X不为-1,就会一直循环.但是每次都会重新输入a,b的值.所以本次循环得到的a值都是该次循环所输入的a,b的和减1的值.当最后一次输入X=-1程序就结束了.
如果你是为了实现累加的功能,程序可改为:
Private Sub Command1_Click()
x = 0
c=0
Do Until x = -1
a = Val(InputBox("A值"))
b = Val(InputBox("B值"))
x = Val(InputBox("x值"))
c = c+a + b + x
Loop
Print a
End Sub

答案是不确定的,根据输入的a、b、x的值而定。

执行过程:
点击Command1按钮,弹出输入框提示输入a、b、x的值,如果输入的x的值不为-1,则将循环弹出输入框,直到x的输入值为-1,则计算a + b + x并将结果保存到a,然后在窗口上Print a