当我在输入大于46348的数字时运行此程序时,出现段错误。对于低于它的任何值,该程序都可以完美运行。我在Ubuntu10.0464位上使用CodeBlocks8.02。代码如下:intmain(){intnumber=46348;vectorsieve(number+1,false);vectorprimes;sieve[0]=true;sieve[1]=true;for(inti=2;i 最佳答案 假设您使用的是通用架构,问题是i*i计算溢出。结果不能存储在带符号的32位整数中。您可以尝试添加cout经过这个计算。最后它会打印:2