如何输出有效数组??
#include <stdio.h>void main()
{
int n,i,a[50],k=0,*p;
p=&a[0];
scanf("%d",&n);
loop: for(i=2;i<=n;i++)
{
if(n%i==0){a[k++]=i;n=n/i;goto loop;}
if(n==i){a[k+1]=i;break;}
}
while(*p)
{
printf("%d,",*(p++));
}
}
以上是我写的一个计算1个数分解质因数的程序,可是打印输出的时候总是把后面空的数组元素也打出来了,请问该如何输出有效数组?