#include<stdio.h>
#include<string.h>
void fun(char a[],int b[])
{
int m;
for(m=0;m<6;m++)
{
switch(a[m])
{
case 'a':b[0]++;break;
case 'b':b[1]++;break;
case 'c':b[2]++;break;
case 'd':b[3]++;break;
case 'e':b[4]++;break;
default:b[5]++;break;
}
}
}
void main()
{
int i,b[6];char a[100]="bacdlb+ddep";
fun(a,b);
printf("The result is:");
for(i=0;i<6;i++)
{printf("%d",b[i]);}
printf("\n");
}
因为数组b没有初始化,所以把数组b初始化为0,但不知道是不是你想要求解的那种方案,修改如下:
#include<stdio.h>
#include<string.h>
void fun(char a[],int b[])
{
int m;
for(m=0;m<6;m++)
{
switch(a[m])
{
case 'a':b[0]++;break;
case 'b':b[1]++;break;
case 'c':b[2]++;break;
case 'd':b[3]++;break;
case 'e':b[4]++;break;
default:b[5]++;break;
}
}
}
int main()
{
int i,b[6]={0};char a[100]="bacdlb+ddep";
fun(a,b);
printf("The result is:");
for(i=0;i<6;i++)
{
printf("%d",b[i]);
}
printf("\n");
}