首页 > 后端开发 > C++ > 正文

为什么 X % 0 在 C 中无效?

Patricia Arquette
发布: 2024-11-06 18:55:03
原创
331 人浏览过

Why Is X % 0 Invalid in C  ?

不能对零求模吗?

为什么表达式 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中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!