c语言题:符合C语言语法的赋值表达式是

如题所述

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编译器上都是可以编译通过的。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-03-22
这个叫做逗号运算符,也叫顺序求值。
这个赋值合法,而且有效。
表达式a,表达式b,表达式c,表达式d;
依次执行
a=(表达式a,表达式b,表达式c,表达式d);
也是依次执行,最后a的值是表达式d的值。
第2个回答  2019-12-13
答案是B.
A和D中都有连等,所以显然错误
C选项中,赋值号右边不能用逗号表达式,所以错误。
本题考点在于赋值运算规则的运用。
C语言中不允许连续在一个表达式中出现连续的赋值运算。
相似回答