c语言中规定 赋值运算符的左边必须是什么?

c语言中规定 赋值运算符的左边必须是什么?

赋值运算符的左边必须是变量。

简单赋值运算符记为“=”,由“= ”连接的式子称为赋值表达式。其一般形式为:

变量=表达式

例如:

x=a+bw=sin(a)+sin(b)y=i+++--j

赋值表达式的功能是计算表达式的值再赋予左边的变量。赋值运算符具有右结合性,因此a=b=c=5可理解为a=(b=(c=5))。

在其它高级语言中,赋值构成了一个语句,称为赋值语句。 而在C中,把“=”定义为运算符,从而组成赋值表达式。 凡是表达式可以出现的地方均可出现赋值表达式。

例如:式子x=(a=5)+(b=8)是合法的。它的意义是把5赋予a,8赋予b,再把a,b相加,和赋予x,故x应等于13。

扩展资料

赋值运算符的作用是把右侧表达式的值存入左侧变量中,C语言中赋值操作是作为一种表达式来处理的。

赋值运算符(=)可以和算术运算符(+,-,*,/,%)及双目运算符(&,|,^,>>,<<)组合成一个复合赋值运算符。但需要注意的是复合赋值运算符的两个组成符号之间不能有空白字符。

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2018-12-03
c语言中规定 赋值运算符的左边必须变量,不能是常量。
例如:int i=1;i就是一个变量。
赋值操作符(=)用于对变量赋值,左边必须是变量,右边是可以当成数字使用的内容,赋值操作符的优先级很低,但是比,优先级高。
多个赋值操作符从右向左计算。
复合赋值操作符(+=,-=,*=,/=),其优先级和赋值操作符的优先级一样。
swap.c
#include <stdio.h>
int main()
{
int num = 3, num1 = 7; /*int num2 = 0;
num2 = num;
num = num1;
num1 = num2;*/
/*num = num + num1;
num1 = num - num1;
num = num - num1;*/
num = num - num1;
num1 = num + num1;
num = num1 - num;
printf("num是%d,num1是%d\n", num, num1);
return 0;
}本回答被网友采纳
第2个回答  2017-10-15
赋值运算符左侧只能是变量,而不能是常量或者表达式。右侧可以是表达式包括赋值表达式。规定最左边变量所得到的新值,就是整个赋值表达式的值,
如果赋值运算符的两侧类型不一致,在赋值前系统将自动先把右边的表达式所求得的数值按赋值号左侧变量的类型进行转换,
就这么多了,哪里不完全待修改还请指正。
第3个回答  2017-11-16
运算符左边必须是变量
第4个回答  2017-11-08
赋值运算符左边必须是一个变量,不可以是一个常量,也不可以是一个表达式,如a+b=c是非法的。
相似回答