下列符合c语言语法赋值的是?

来源:百度知道 编辑:UC知道 时间:2024/07/05 08:44:29
A. a=7+b+c=a+7 B. a=7+b++=a+7 C. a=(7+b,b++,a+7) D. a=7+b,c=a+7
为什么?
可是答案怎么是c呢………………

赋值只能给变量赋值,
A中7+b+c=a+7部分等号左边是一个表达式(计算后就是一个值),B的原因同A,
C中是一个逗号表达式,其结果等于最后一个表达式的值,所以是允许的
D应将逗号改成分号,

所以答案为C

A和B肯定不对,因为c中"="运算符的左操作数必须是左值(即变量),而A中7+b+c=a+7部分等号左边是一个表达式(计算后就是一个值),B的原因同A,
C和D在语法上允许,但是C中a=(7+b,b++,a+7),第一项7+b没什么意义,完全可以忽略,a只等于括号最后一项的值,中间一项相当于对b进行了加1操作.D是符合使用规则的.

答案是A
B项++和=写在一起是不对的(其实我做出这个判断的一依据是编译软件不通过,呵呵)
C项把这个三个式子括在一起也没有意义
D项逗号该成分号就对了