在C语言中,什么叫做“=”左边是不能有表达式的?麻烦举个例子

rt

C语言中的“=”是赋值,而不是一般意义下的等于。
换句话说,这个符号在C语言里面的功能是把右边的常量、变量或者表达式的值交给左边的变量。
要完成这个操作,右边可以是常量(此时这个常量直接交给左边的变量,如a=5;),也可以是变量(但是如果右边是变量时,就必须保证右边的变量已经正确赋值,如a=b;此时b必须是已经正确赋值的,执行此语句后,a的值就等于b的值了),还可以是表达式(与变量一样,右边的表达式中的每一个变量必须已经正确赋值,如a=b+c-5,此时右边的b和c必须已经正确赋值,执行语句后,a的值就是b的值加上c的值减去5)。
而“=”左边是接收右边的常量、变量或者表达式的值的。因此,常量不能被改变,不能作为“=”的左值,表达式中可能含有两个或多个变量,具体交给拿个系统不知道,所以也不能作为“=”的左值,只剩下变量,变量的值可以被改变。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-03-15
=是赋值运算符,就是把右边的值赋给左边,左边不能有表达式,表达式通常都是要执行的语句。比如:a++就是一个简单的表达式,相当于是a = a + 1;你总不能a + 1 = a;吧,把a赋给a + 1吗?这怎么赋,不可能的事啊!本回答被提问者采纳
第2个回答  2015-03-15

C语言中“ = ”是赋值,表示把右边的值赋给左边的,例子:

int i,j;
(i+j)=5; //错误的赋值方法

int i,j;
i=5;
j=5;    //正确的赋值方法

“=”不是等于,而是赋值,从这个角度去理解,左边不能是表达式。

相似回答