求高人解答关于VB问题

来源:百度知道 编辑:UC知道 时间:2024/05/16 13:40:36
1.下列程序:
Private Sub Command1_Click()
X1=InputBox("请输入")
Print X1+ 123
End Sub

运行后在对话框中输入123,输出结果是()

我上机操作出来的结果是246.
我不能理解的是,InputBox 函数返回的不是一个字符串么?对话框中输入的123应该是以字符串形式出来的,怎么能直接和数值123相加呢?

2.Private Sub Command1_Click()
a=3
b=4
c=5
c=c=sqr(a*a+b*b)
Print c
Print c=c=sqr(a*a+b*b)
End Sub

这个语句的执行结果是 True False
我完全不知道解这个结果是怎么出来的
还望有高人细心指点哈~
谢谢了!!

第一问题:VB会根据程序运行的实际情况,会自动转换数据类型,不过最好还是自己手动转转换一下,自动有时会出错X1=CLng(InputBox("请输入"))

第二个问题:
c=c=sqr(a*a+b*b)就是c=(c=sqr(a*a+b*b))是这样理解的:sqr(a*a+b*b)的值先与c的值进行比解因为相等所以返回true然后赋给c,这时c就变为true了。
Print c = c = Sqr(a * a + b * b)就是Print c = (c = Sqr(a * a + b * b))这里的c已经不是5了,是true了,true与5比较false赋给c输出就是false