不懂就问:UB
  • 板块学术版
  • 楼主封禁用户
  • 当前回复22
  • 已保存回复22
  • 发布时间2020/5/22 16:10
  • 上次更新2023/11/7 02:02:04
查看原帖
不懂就问:UB
335637
封禁用户楼主2020/5/22 16:10

昨天的程序最终检测是出现了UB,因此去查了SF的博文,谔补了一下

但是有没有什么办法能把UB弄没(我也不知道怎么说了。。。)

例如SF的日报中的样例

#include <iostream>
using namespace std;
int main()
{
 int x;
 cin>>x;
 if(x+1<x)
  cout<<"Overflow!"<<endl;
 else
  cout<<"Not overflow!"<<endl;
 return 0;
}

那么按照SF的博文来说,假设编译器的配置很高并开启了氧气优化的话,输入2147483647则不会输出“Overflow!”。那么有没有什么办法让输入2147483647的情况下输出“Overflow!”呢?

2020/5/22 16:10
加载中...