将内容存储在一个数组中并显示

时间:2010-12-14 11:52:46

标签: c

我编写了代码来生成范围内的素数。然后尝试将生成的素数存储在数组中:

 if(prime)
   printf("\n%d", n);
 prime_array[k]=n;
 k++;

然后尝试打印数组的内容:

for(z=0;z<6;z++)
  printf("%d\n",prime_array[z]);

我得到的输出不正确。有什么问题?

2 个答案:

答案 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。