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=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均有赋值.
unsigned int a=2;int b = -3;
执行语句int a,b,c; a=(b=c=3, c++, b+=c);则a的值是?请说明理由
int a=3,b=4,b=5; !(++c-1&&b+c/2)等于什么?为什么?谢谢
void a(int a,int b=0)的含义?
已知int a=1;int b;b=(++a)+(++a)+(++a);为什么b=10?
int a=5,b; b=++a*--a;
int a=b;与int a,b;a=b;的区别
int a=2,b=3,c=4;a*=10+(b++)-(++c);执行完语句后a的值是多少?
设a = 5,b = 10,则执行 c = Int((b - a) * Rnd + a) + 1,结果为多少
为什么不能定义成int a=b=c=2;而要定义成int a=2,b=2,c=2;