以下代码在 NOI Linux 以及很多 Linux 系统下
用 g++ 编译器开启 O2 会出现错误。
正确的输出是 12345 ,而实际输出是 2 。
#include<iostream>
#include<ctime>
#define i128 __int128
int xl[5];
int main(){
i128 tot=1;
int x=clock();
xl[1]=2;
int zh=1;
while(zh<=x){
tot++;
for(i128 i=tot-1;i>=1;i--){
xl[i]=12345;
}
std::cerr<<xl[1]<<std::endl;
zh=10000000;
}
return 0;
}