我正在尝试创建一个程序,它在给定输入值 n 的情况下输出素数列表。
我制作的 SieveEratosthenes 函数: - 在前 n 个整数上生成素数列表 - 为生成的素数列表创建存储空间 - 返回生成的素数的数量。
这是我的主要功能中的代码:
int main(){
int n, i;
int *primes;
printf("Number that needs to be prime factorized: ");
scanf("%d", &n);
int num_primes;
num_primes = SieveEratosthenes(n, &primes);
printf("Generated a list of %d primes\n", num_primes);
printf("\n");
for (i = 0; i <= sizeof(num_primes) + 1; i++){
printf("%d", *primes++);
}
printf("\n");
return 0;
}
说 n = 20; 我的输出是:
'生成了一个包含 8 个素数的列表
2 3 5 7 11 13'
当我想要的输出应该是'2 3 5 7 11 13 17 19'
我的筛子功能工作正常,但我无法在我的主要功能中打印出整个素数列表。
任何帮助将非常感激。谢谢!