我编写了代码来生成范围内的素数。然后尝试将生成的素数存储在数组中:
if(prime)
printf("\n%d", n);
prime_array[k]=n;
k++;
然后尝试打印数组的内容:
for(z=0;z<6;z++)
printf("%d\n",prime_array[z]);
我得到的输出不正确。有什么问题?
答案 0 :(得分:2)
假设其他一切都是正确的,您应该考虑以下事项:printf
进入if
块内,但其他一切都没有。它可能应该是:
if(prime) {
printf("\n%d", n);
prime_array[k]=n;
k++;
}
答案 1 :(得分:0)
在你发布的代码中,你试图在一个似乎是char(prime_array [k])的东西中转换整数(n),它不能工作,因为'n'和'prime_array [k ]'没有相同的类型,也因为你不能在这样的数组中强制转换整数。
如果要在数组中放置整数,可以使用stdio.h中的函数sprintf。 这个职能的人:http://man.cx/sprintf%283%29
Anhuin。