Sun Studio 12:C 用户指南

6.10.5 As If 规则

使用 K&R C 重新整理规则的几个理由:

ISO C 委员会最终承认:重新整理规则应用于所描述的目标体系结构时,本来是要作为 as if 规则的一个实例。ISO C 的 as if 规则是通用许可证,它允许实现任意偏离抽象机器描述,只要偏离不更改有效 C 程序的行为。

因此,由于无法通知此类重新分组,因此允许在任何机器上重新整理所有二元按位运算符(移位除外)。在溢出回绕的典型二进制补码机器上,可以由于相同原因重新整理涉及乘法或加法的整型表达式。

因此,C 中的此更改对大多数 C 程序员没有重大影响