/ 两个整数相除, 结果为被截断的整数;

% 要求必须为两个整数的运算;

c 语言中, = 是运算符, 右结合. v=e 的结果为e, 副作用是把e的值赋值给v.

i=j=k=0i=(j=(k=0)); i += j += ki += (j += k), 不推荐.

i++ 结果是 i, 副作用是 i 自增;

++i 结果是 i+1, 副作用是 i 自增;

k = ++i + j++i=i+1; k=i+j; j=j+1;

k = i++ + j++k=i+j; i=i+1; j=j+1;

++/-- 优先级 高于 一元的+/- ;

clang 没有定义子表达式的求值顺序, 所以不要在子表达式中使用赋值运算符.

a[i++] = a[i++] + 100 i是加一次还是两次是未定义的.

i *= j + 1 => i *= (j + 1)