不能对零求模吗?
为什么表达式 X % 0 在 C 等编程语言中无效?直观上,人们可能期望它返回 X 的余数,类似于除法。
根据 C 标准 (2003),当第二个操作数(除数)为零:
[...] If the second operand of / or % is zero the behavior is undefined [...]
因此,以下表达式会调用未定义的行为(UB):
X / 0; // UB X % 0; // UB
这种未定义的行为意味着这些表达式的确切结果是不可预测的,并且可能会根据特定的编译器或实现而变化。
此外,需要注意的是-5 % 2 的余数不仅仅是 5 % 2 的负数。当两个操作数均为非正数时,余数的符号是实现定义的,而不是标准化。
以上是为什么 X % 0 在 C 中无效?的详细内容。更多信息请关注PHP中文网其他相关文章!