-3
爲什麼此代碼給出分段錯誤錯誤? 此代碼是eratosthenes篩的執行。分割錯誤!請調試
#include <stdio.h>
#define LIMIT 10000000
#define PRIMES 700000
int is_prime[LIMIT];
int prime[PRIMES];
main()
{
int i, j;
for (i = 0; i < LIMIT; i++)
is_prime[i] = 1;
is_prime[0] = is_prime[1] = 0;
for (i = 0; i < LIMIT; i++)
if (is_prime[i])
for (j = i*i; j < LIMIT; j += i)
is_prime[j] = 0;
j = 0;
for (i = 0; i < LIMIT && j < PRIMES; i++)
if (is_prime[i])
prime[j++] = i;
return 0;
}
請調試...... –
先用調試信息生成程序,這是用'-g'開關GCC完成。然後在'gdb'調試器中運行你的程序。 –