gpt4 book ai didi

c++ - 不能修改零吗?

转载 作者:IT老高 更新时间:2023-10-28 13:24:23 28 4
gpt4 key购买 nike

为什么 X % 0 是一个无效的表达式?

我一直认为X % 0应该等于X。既然你不能除以零,那么答案自然不应该是余数,X(剩下的一切)吗?

最佳答案

C++ 标准 (2003) 在 §5.6/4 中说,

[...] If the second operand of / or % is zero the behavior is undefined; [...]

即,以下表达式调用 undefined-behavior(UB):

X / 0; //UB
X % 0; //UB

还要注意 -5 % 2 不等于 -(5 % 2) (正如 Petar 在他的回答中似乎暗示的那样)。它是实现定义的。规范说(§5.6/4),

[...] If both operands are nonnegative then the remainder is nonnegative; if not, the sign of the remainder is implementation-defined.

关于c++ - 不能修改零吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7370154/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com