小编mhb*_*kes的帖子

0 除以 0 在 g++ 10.2 中得到 1

gcc says: 0 / 0 equals 1使用g++10.2编译时打印以下代码:

#include <iostream>

int main() {
  int a = 0;
  std::cout << "gcc says: 0 / 0 equals " << (a / a) << std::endl;
  return 0;
}
Run Code Online (Sandbox Code Playgroud)

在 Godbolt 上运行它

  • 应该是这样吗?(编译clang并执行它返回 136 - 错误的算术运算)。
  • 这是某种代码优化的结果吗?
  • 有没有办法使这个错误?

编辑:有编译-fsanitize=undefined品牌g++产生一个运行时错误。感谢@chris。

c++ g++

0
推荐指数
1
解决办法
82
查看次数

标签 统计

c++ ×1

g++ ×1