ISO/IEC 9899:2011 条款6.5.5——乘法操作符
6.5.5 乘法操作符
语法
1、multiplicative-expression:
cast-expression
multiplicative-expression * cast-expression
multiplicative-expression / cast-expression
multiplicative-expression % cast-expression
约束
2、每个操作数应该具有算术类型。% 操作符的操作数应该具有整数类型。
语义
3、通常的算术转换在操作数上执行。
4、双目 * 操作符的结果是操作数乘积的结果。
5、/ 操作符的结果是第一个操作数除以第二个操作数的商;% 操作符的结果则是余数。在这两个操作中,如果第二个操作数的值是零,那么行为是未定义的。
6、当整数被除时, / 操作符的结果是丢弃所有小数部分的代数商。[注:这常被称为“截取到零”。]如果 a/b 的商是可表示的,那么表达是 (a/b)*b + a%b 应该等于a;否则,a/b 以及a%b 的行为都是未定义的。