注册 登录
编程论坛 VB6论坛

答案为什么是2010

dgg实在 发布于 2016-08-03 21:38, 1755 次点击
在窗体上画一个命令按钮,然后编写如下过程:
Private Sub Form_Click()
Dim a As String, b As String
a = InputBox("请输入第一个数")
b = InputBox("请输入第二个数")
Print b + a
End Sub
程序运行后,单击命令按钮,先后在两个输入对话框中分别输入10和20,那么输出结果是:


答案是2010 为什么?求详细解释

5 回复
#2
xiangyue05102016-08-04 09:15
a,b 都是字符串类型, b + a 相当于b & a
需要转换变量类型
#3
ZHRXJR2016-08-04 12:58
第一、你的a与b定义的是字符型数据:Dim a As String, b As String
第二、b + a 实际上与 a & b 是一样的,是字符串连接,即"20" + "10",结果当然是 "2010"
第三、如果要得到 b + a = 30 有二种办法:
1、Dim a As Integer , b As Integer   '将a与b的数据类型定义为整形数据
2、Print Val(b) + Val(a)    '强制将a和b转换为数字
这样打印到窗体的结果就应该是 30 。
#4
dgg实在2016-08-04 21:47
回复 3楼 ZHRXJR
明白了,谢谢你!
#5
dgg实在2016-08-04 21:47
回复 2楼 xiangyue0510
明白了,谢谢!
#6
陌上过客2016-08-13 19:39
因为定义的是两个字符串变量,因此加号的意义及是用来连接字符串
1