int a=b=c=3;

来源:百度知道 编辑:UC知道 时间:2024/06/06 19:41:53
为什么不可以这么赋值。
int a=3,b=3,c=3;
还有int a,b,c; int a=b=c=3;这些不用说。
我只知道为什么这个不能呢。

因为int a=b=c=3;只声明了a。b,c算作未声明,没有声明当然就不能赋值了

http://msdn.microsoft.com/zh-cn/library/5kzh1b5w(VS.80).aspx

你相当于定义了一个逗号表达式

相信你会懂得什么是逗号表达式

逗号表达式从左向右运算,最后到c=3
相当于你只给c赋了值,而a b没有
a=b=c=3的意思是把3赋给c,再把c赋给b,再由b赋给a,所以a b c均有赋值.