3.1.6赋值运算符
=是赋值运算符,它的作用是将一个表达式的值赋给一个左值。一个表达式或者是一个左值,或者是一个右值。所谓左值是指一个能用于赋值运算左边的表达式。左值必须能够被修改,不能是常量。我们现在是用变量作左值,以后还可以看到,指针和引用也可以作左值。例如:
int a, b, c;
a=3;
b=4;
c = ( a + b )*(2*a - b) // 得出14
赋值运算符可与算术运算符和位运算符组合,产生许多变种,参见表3-9(实例中假定n是一个整型变量)。
赋值运算本身也是一个表达式,即赋值表达式,该表达式的值是存储在赋值运算符左边变量中的值。一个赋值表达式能作为另一个赋值表达式的右操作数,多个赋值运算符能够连接在一个表达式中。例如:
int m, n, p;
m = n = p = 100; // 即: n = (m = (p = 100));
m = (n = p = 100) + 2; // 即: m = (n = (p = 100)) + 2;
m += n = p = 10; // 即: m = m + (n = p = 10);