1.数组溢出
2.for (int j = a[0]; j >= 1; j++)数组
1.辛辛苦苦写的函数,本身忘了调用
2.逻辑错误函数
void Linear_Filter() { for (int i = 2; i * i <= N; i++) { if (!prime[i]) { prime[++prime[0]] = i; } for (int j = 1; j <= prime[0]; j++) { if (i * prime[j] > N) break; prime[i * prime[j] ] = 1; /// 18 if (i % prime[j] == 0) break; /// 19 若是18 和 19 换了位置则 i == prime[j] 状况下的 i*prime[j]不会被标记 } } for (int i=1; i<= 20; i++) { printf("%d -> %d\n", i,prime[i]); } }