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 的行为都是未定义的。

原文地址:https://www.cnblogs.com/zenny-chen/p/4853271.html