C语言变量赋值

若变量已正确定义并赋值,符合C语言的语言语法的表达式是
A)a=a+7
B)a=7+b+c,a++
C)int(12.3%4)
D)a=a+7=c+b

为什么选B呢?
C语言跟VB好不一样的说,哪位大神帮帮忙~~先谢谢了~~

我来给出正解吧:
A)a=a+7 是赋值语句 正确
B)a=7+b+c,a++ 这是一个赋值运算符和逗号运算符等组成的语句,因为赋值运算符的优先级高于逗号运算符,所以相当于(a=7+b+c),a++ 而不是a=(7+b+c,a++)
C)int(12.3%4) %不能出现小数,非法
D)a=a+7=c+b 赋值运算符的结合性是自右向左的,所以相当于两个语句
先a+7=c+b 再a=a+7 a+7不是个变量,不能作为被赋值的对象。
所以答案是A、B
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-01-24
A正确 a=a+7即a=(a+7)
B:a=7+b+c,a++中间应该是;号而不是逗号
C:int(12.3%4) 不会产生结果.定义格式也不正确
D:)a=a+7=c+b 一般的.计算机是这样人为的a=(a+(7=c+b)) 因为7不等于c+b.所以错误
第2个回答  2011-01-24
A)a=a+7 是赋值语句
B)a=7+b+c,a++ 逗号表达式,合法
C)int(12.3%4) %不能出现小数,非法
D)a=a+7=c+b a+7=c+b,常量不能出现在等号左侧
第3个回答  2017-11-18
A、B正确,C、D错误。