B
C
=左边必须是左值(可以被赋值的值,也被称作变量表达式,变量、数组表达式、指针表达式的值都是左值。但是算数、逻辑运算表达式、函数表达式的值不是左值所以不能被赋值)所以A、D错误
C是逗号表达式。(逗号表达式的值和类型都由逗号右边的表达式决定,就是说连续逗号表达式比如a,b,c,d等价于a,(b,(c,(d)))
-
赋值仅仅是一种表达式,也有值和类型a
=
1。的值是1类型是int,所以完全可以赋值给另一个int类型变量b
=
(a
=
1)也就是b
=
a
=
1。不存在不可以连续赋值的说法。
括号表达式也是一样。只要有类型和值就能赋值给对应的变量这是赋值的原则。
B和C的写法在标准C编译器上都是可以编译通过的。
温馨提示:答案为网友推荐,仅供参考