狂想曲丶 发表于 2020-11-19 20:26:36

赋值语句

a=2=(b=9)=1
上述赋值语句为什么不对

昨非 发表于 2020-11-19 20:28:48

为什么要这么写?
这不是自己找事儿吗?

狂想曲丶 发表于 2020-11-19 20:39:16

昨非 发表于 2020-11-19 20:28
为什么要这么写?
这不是自己找事儿吗?

这是做的题目。。。

昨非 发表于 2020-11-19 20:52:10

狂想曲丶 发表于 2020-11-19 20:39
这是做的题目。。。

这,真的有老师这么出题吗?
这不是在挑战语法的底线吗?
哪儿程序员会在开发时写出这样的代码?
纯粹为了出题?

狂想曲丶 发表于 2020-11-19 20:56:07

昨非 发表于 2020-11-19 20:52
这,真的有老师这么出题吗?
这不是在挑战语法的底线吗?
哪儿程序员会在开发时写出这样的代码?


如图

昨非 发表于 2020-11-19 20:58:41

赋值语句具有右结合性

也就是a=b=c=d=e=5;
//等价于
e=5; d=e; c=d; b=c; a=b;

但是=左侧必须是变量,而你这个代码里

a=2=(b=9)=1,加红的等号左侧为常量,所以错误了
页: [1]
查看完整版本: 赋值语句