#include
#include
#include
#define SIZE sizeof(int)
int main()
{
int num_str[32],count[10],*p,*head,*pt;
int n,i,num;
scanf("%d",&n); //給出整數個數
for(i=0;i<10;i++)
count[i]=0;
p=(int *)malloc(n*SIZE);
head=p;
for(;p<head+n;p++) //輸入每個整數的值
scanf("%d",p);
// for(p=head;p<head+n;p++) //調試時能顯示每個整數
// printf("%d ",*p);
for(p=head;p<head+n;p++)
{
num=*p;
//printf("%d ",num);
sprintf(num_str,"%d",num); //提示錯誤在這步
pt=num_str;
while(pt!='\0')
{
switch(*pt-'0')
{
case 0:count[0]++;break;
case 1:count[1]++;break;
case 2:count[2]++;break;
case 3:count[3]++;break;
case 4:count[4]++;break;
case 5:count[5]++;break;
case 6:count[6]++;break;
case 7:count[7]++;break;
case 8:count[8]++;break;
case 9:count[9]++;break;
}
}
}
for(i=0;i<10;i++)
printf("%d-%d\n",i,count[i]);
return 0;
}
您程序中的num_str 是整型指針,sprintf的參數只能為char型指針。