鱼C论坛's Archiver
论坛
›
C\C++交流
› 赋值语句
狂想曲丶
发表于 2020-11-30 15:56:28
赋值语句
已正确定义整型a,b,c,下列赋值语句为何错误?
(a=b)=c=1;
北冰羊
发表于 2020-11-30 16:06:07
是不是b没有赋值,C语言赋值语句从右向左执行。
如果没有括号 a=b=c=1;即:c=1;b=c;a=c;没有问题。
但是有括号的话(a=b)优先执行,因为b没有初值,a=b执行不下去,会报错。
sunrise085
发表于 2020-11-30 16:09:04
这句话,没有语法错误,只是加了括号之后b没有赋值而已
赋值语句从右向左赋值,先给c赋值为1,然后执行括号,把b值赋值给a,再把c赋值给a。最终a和c的值都为1,b没有赋值
页:
[1]
查看完整版本:
赋值语句