在C语言中,若变量已正确定义并赋值,则该表达式 a=a+7=c+b 有误吗?怎么解释。

如题所述

#include <stdio.h>

int main(void)
{
int a=3,b=6,c=9;
a=a+7;
a+7=b+c;
printf("%d %d %d\n",a,b,c);
return 0;
}
如果如上编写程序,则无输出;
a=a+7;语句为正确的
而a+7=b+c;语句为错误的
如果写成a=a+7=c+b;同样也会出现错误
若改为
#include <stdio.h>

int main(void)
{
int a=3,b=6,c=9;
a=a+7;
printf("%d %d %d\n",a,b,c);
return 0;
}
则结果为:10 6 9
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-02-10
当然有问题,第二个等号左边是一个运算,那么右边的值要给谁呀,所以左边一定是一个变量,不能是一个运算。
第2个回答  2011-02-10
有误,a+7是表达式,属于右值,不能在等号左边。
第3个回答  2011-02-10
错了,赋值运算是右结合(从右到左),等号右边只能常量或是常量表达式......
第4个回答  2011-02-10
这种写法相当于: a+7=c+b;
a=a+7;
第一句肯定不对。
相似回答