关于统计一个字符串里面0~9数字出现的个数的fun函数不知道哪里出错了
程序代码:#include<string.h>
void fun(char* str,int num[10],int n)
{
int i,j,k=0;
for(i=0;i<10;i++)
{
for(j=0;j<n;j++)
if(num[i]==*(str+j))
{
k++;
}
num[i]=k;
}
for(i=0;i<10;i++)
{
printf("%d ",num[i]);
}
}
void main()
{
int a[10]={0,1,2,3,4,5,6,7,8,9},n;
char str1[100],*str2;
str2=str1;
printf("Input the array:\n");
gets(str1);
n=strlen(str1);
fun(str2,a,n);
//printf("%d ",fun(str2,a,n));
}
为什么输出的结果全是0?fun函数是让一个字符串里面的数字统计各出现了几次
然后再a数组里对应输出出现的次数。比如说“33sd3er2s2”这个字符串,输出结果应
该是“0023000000”。但我的程序哪里错了输出的全是“0000000000”。







