C语言赋值运算符的结合方向是自右向左吗?
1个回答
展开全部
赋值运算符是自右向左结合的。
以如下代码为例:
int a = 1,b=2,c=3;
a=b=c;
printf("%d,%d,%d\n", a,b,c);
如果赋值运算为自左向右,那么执行顺序为
a = b = 2;
b = c = 3;
结果a = 2, b=3, c = 3。
将输出2,3,3
如果赋值运算为自右向左,那么执行顺序为
b = c = 3;
a = b = 3;
结果a = 3, b=3, c = 3。
将输出3,3,3
通过实际运行,结果为3,3,3。说明结合方向是自右向左的。
以如下代码为例:
int a = 1,b=2,c=3;
a=b=c;
printf("%d,%d,%d\n", a,b,c);
如果赋值运算为自左向右,那么执行顺序为
a = b = 2;
b = c = 3;
结果a = 2, b=3, c = 3。
将输出2,3,3
如果赋值运算为自右向左,那么执行顺序为
b = c = 3;
a = b = 3;
结果a = 3, b=3, c = 3。
将输出3,3,3
通过实际运行,结果为3,3,3。说明结合方向是自右向左的。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询