◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。
C语言的赋值运算符包括基本赋值运算符和复合赋值运算符两种。
一、基本赋值运算符
形式: =
功能:将赋值运算符右边表达式的值赋给其左边的变量。
例如:x=2+b 意思是将10+b的运算结果赋给变量x。
总结几个要点:
二、复合赋值运算符
为了简化程序并提高编译效率,C语言允许在赋值运算符”=“之前加上其他运算符,这样就构成了复合赋值运算符。
形式: 算术运算符=
功能:对赋值运算符左、右两边的运算对象进行指定的算术运算符运算,再将运算结果赋予左边的变量。
例如:
总结几个要点:
复合赋值运算符右边的表达式是一个运算”整体“,不能把它们分开。如:a*=b+1 ;等价于a=a*(b+1);。如果把:a*=b+1;理解为a=a*b+1;那就错了。
三、赋值表达式
用赋值运算符将运算对象连接而成的式子称为赋值表达式。例如:k=(j=1);由于赋值运算符的结合性是从右向左的,因此该赋值表达式等价于k=j=1。
下面是赋值表达式的例子:
int k,a=1,j=5;
a+=j++; /*a被赋值为6,j的值改变为6*/ (此处是先使用j的值,然后再自加。关于++ ,--双目运算见这里)
a=20+(j=7); /*a被赋值为27*/
a=(j=9)+(k=7); /*a被赋值为16*/
vich 于 2009-6-10 17:43:28 回复谢谢指出。你是对的。