VB一小段程序理解

来源:百度知道 编辑:UC知道 时间:2024/05/16 13:34:45
Private Sub Command1_Click()
a = InputBox("a=", "输入")
b = InputBox("b=", "输入")
c = (a + b) / 2 + (b - a) / 2
Print "c="; c
End Sub

当运行时,输入 a=2,b=5,为什么输出 c=14, 请问是怎么算出来的

原因是:
你未对各变量的类型进行声明,所以:
a = InputBox("a=", "输入") ' a成为字符串"2"
b = InputBox("b=", "输入") ' b成为字符串"5"
c = (a + b) / 2 + (b - a) / 2 '注意此处,a和b都是字符串变量,所以a+b的结果是"25"这个字符串,而不是你想要的7,从而导致错误

解决方法:
一定要将各变量先声明后使用,如下:

Private Sub Command1_Click()
Dim a, b, c As Double
a = CDbl(InputBox("a=", "输入"))
b = CDbl(InputBox("b=", "输入"))
c = (a + b) / 2 + (b - a) / 2
Print "c="; Cstr(c)
End Sub

变量没有声明,所以输入的a,b不是数值型而是字符型,你可以声明一下或者把输入改成如下:
a=val(inputbox("a=","输入"))
b=val(inputbox("b=","输入"))
把a,b强制改成数值型就可以了。

你比较强的。我输出是5.