int main()
{
int i = 0;
for(;;)
{
i++;
if (i < 5)
{
cout << “问君能有几多愁!\n”;
}
}
return 0;
}
解决方案
10
原因是计算机中,某种类型的整数的个数是有限的
当i++ 达到最大值的时候,下一轮循环,就又回到最小值了(这叫溢出的折回现象)
i 从绝对值最大的负数,到4 ,都是都是 i<5
当i++ 达到最大值的时候,下一轮循环,就又回到最小值了(这叫溢出的折回现象)
i 从绝对值最大的负数,到4 ,都是都是 i<5
20
i>5后循环还在继续,只是没有输出,溢出后又循环
20
当你的i超过4294967296后,就发生了溢出
10
溢出成负数了,一直愁,愁死人