VB三行代码,结果是什么?为什么?

[复制链接]
查看11 | 回复2 | 2008-7-7 09:23:22 | 显示全部楼层 |阅读模式
Private Sub Command1_Click()

Dim a%, b%, c%

b = 6: c = 6.5

a = b = c

Print a
End Sub
一点要解释清楚!
a 的值不是6 !

回复

使用道具 举报

千问 | 2008-7-7 09:23:22 | 显示全部楼层
VB中不支持形如a=b=c这样的赋值方式而a = b = c这句的意思是先对比b=c.因为b和c已定义为整形,所以都为6然后将对比结果(True为-1,Flase为0)返回赋值给a所以最后a的值为-1要更改的话将a=b=c这行语句拆开如b=ca=b刚才我试了下将程序改为Private Sub Command1_Click() Dim a as integer, b as integer, c as integerdim w as boolean b = 6c = 6.5
'这时c=6w = b = c'w=Truea = wPrint a End
回复

使用道具 举报

千问 | 2008-7-7 09:23:22 | 显示全部楼层
Dim a%, b%, c% 定义a,b,c为整型变量。所以后面的c = 6.5 实际处理后c的值为6.最后的赋值a = b = c 是从右往左进行的,所以最后的a值是6.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行