4.1 算数运算符
-
运算符%要求操作数是整数。如果两个操作数中有一个不是整数,程序将无法编译通过。
-
把零用作/或%的右操作数会导致未定义的行为
-
当运算符/和运算符%用于负操作数时,其结果难以确定。根据C89标准,如果两个操作数中有一个为负数,那么除法的结果既可以向上取整也可以向下取整。(例如,-9/7的结果既可以是-1也可以是-2。)在C89中,如果i或者j是负数,i%j的符号与具体实现有关。(例如,-9%7的值可能是-2或者5。)但是在C99中,除法的结果总是向零截取的(因此-9/7的结果是-1),i%j的值的符号与i的相同(因此-9%7的值是-2)。
4.运算符优先级
4.2 赋值运算符
简单赋值
左值
复合赋值
- 左值:赋值运算符要求它的左操作数必须是左值(lvalue)。左值表示存储在计算机内存中的对象,而不是常量或计算的结果。变量是左值,而诸如10或2 * i这样的表达式则不是左值。目前为止,变量是已知的唯一左值;