永发信息网

VB语句“x=x=y”是不是赋值语句?

答案:2  悬赏:40  手机版
解决时间 2021-01-11 15:43
  • 提问者网友:记得曾经
  • 2021-01-11 09:52
VB语句“x=x=y”是不是赋值语句?
最佳答案
  • 五星知识达人网友:渡鹤影
  • 2021-01-11 10:22
是的,第一个等号是赋值命令符,第二个等号是逻辑比较符。这条语句的意思就是把x和y的逻辑比较结果赋值给x,如果x和y相等,那么x就是True,反之就是False。
如果写成下面这样估计你就能比较好理解:
x = (x = y)追问Private Sub Command1_Click()
Dim x As Integer, y As Integer
x = 3: y = 3
Print x = x = y
End Sub
无论x,y的值是多少,运行结果都是False,所以就搞不明白这个语句“x=x=y”怎么理解?
如果换成:
Print x = (x = y)
这样运行结果也是False追答Print x = x = y

这样的话,后面的 x = x = y 就不是语句啦,而是表达式,是 Print 的参数!从Print开始的整行才是语句!
上面这行的意思是:
先把x与x进行比较,肯定相等啦,所以结果为True,然后再把True与y进行比较,由于True等价于-1,与3不相等,所以结果为False,这样的话Print出来就是False了。只有当y等于-1,x是任意值的时候,结果才是True。
你再试试下面的代码:
Private Sub Command1_Click()
Dim x As Integer, y As Integer
x = 3: y = 3
x = x = y  '这样才算是赋值语句!!!
Print x
End Sub注意哦,打印的结果是-1,而不是True,因为x是Integer型,所以它会自动转换为数值

全部回答
  • 1楼网友:千杯敬自由
  • 2021-01-11 10:50
no no no 这只是个字符串
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯