在C语言中,表达式 `a=b=c` 的计算顺序如下:
赋值运算符 `=`的优先级最低,因此首先执行 `b=c`,将 `c` 的值赋给 `b`。
2. 接下来执行 `a=b`,将 `b` 的当前值(即 `c` 的值)赋给 `a`。
因此,最终 `a` 和 `b` 的值都会等于 `c` 的值。
示例代码
```c
include
int main() {
int a, b, c;
c = 5;
a = b = c;
printf("a = %d, b = %d, c = %d\n", a, b, c);
return 0;
}
```
输出
```
a = 5, b = 5, c = 5
```
在这个示例中,`c` 被赋值为 5,然后 `b` 被赋值为 `c` 的值(即 5),最后 `a` 也被赋值为 `b` 的值(即 5)。因此,`a`、`b` 和 `c` 的值都是 5。
总结
`a=b=c` 首先执行 `b=c`,将 `c` 的值赋给 `b`。
然后执行 `a=b`,将 `b` 的当前值(即 `c` 的值)赋给 `a`。
最终,`a` 和 `b` 的值都会等于 `c` 的值。