c语言高手来~~

来源:百度知道 编辑:UC知道 时间:2024/05/11 02:17:13
若有变量说明语句:“int a=0,b=0,c=0;”,则以下符合C语言语法规则的赋值表达式是_________。

A a=9+b+c=a+9
B a=b++=1
C a=(b++,b+1)
D a=b+c=1
答案为什么是C,D呢?为什么?
答案d是错的,但是我不大明白- -!

答案是错误的,只有C。

hwpjlu的说法有问题:“赋值号左边不可以是一个运算式 ”。这是不对的,比如int p[10]; *(p+4*2) =3;左边就是运算式子,但这样的赋值是成立的。

正确的说法是:只有左值(lvalue)才能被赋值。

b++不可以被赋值,
9+b+c = a+9 是不合法的,赋值号左边不可以是一个运算式
D也应该是不对的,为什么楼主说是对的呢!