Cで200万までのすべての素数の合計を見つける問題を解決しています.私は絶えず間違った答え(1179908154)を得ていますが、C++で同じコードを書いたとき、それは正しい答え(142913828922)を与えました. なぜそうなのか教えてください、ありがとう。
これが私のコードです
void main()
{
int i,j;
unsigned long long sum;
for(sum=2,i=3;i<=2000000;i+=2)
{
for(j=3;j*j<=i;j++)
if(i%j==0)
break;
if(j*j>i)
sum+=i;
}
printf("%d",sum);
}
私はWindows 7、32ビットを使用しており、GNU GCC v4.7.1を使用しています