C语言赋值试题,求大家帮忙 到底可不可以连等 e++这么用到底对不对

2025-03-23 07:33:35
推荐回答(1个)
回答1:

需要首先明确
1.)赋值操作符的优先级比“+”更低。
2.) 赋值操作符的返回值是赋值后的左操作数的值。
3.) 常量和表达式不能作为左值,不能作为左操作数(即不能放在二元运算符的左边)。

以上3点判断如下:
A:可以分割为两个连续的赋值操作,连续赋值操作从右至左执行,第一个执行赋值操作左边为(9+e+f)是表达式,错误。编译器应该报错。可以修改为d=9+e+(f=d+9)。
B:正确。
C:d+9是要干什么?也没有赋值。语法错误。
D:同A

建议写出来编译一下。映像会深刻些。某些教材是比较简略的,建议查查C++
primer之类的书籍。