求助,百思不得其解
#include<stdio.h>#include<string.h>
void fun(char string[40],int a[4])
{
int i;
for(i=0;string[i]!='\0';i++)
{
if(string[i]>='0'&&string[i]<='9') a[0]+=1;
if(string[i]>='A'&&string[i]<='Z') a[1]+=1;
if(string[i]>='a'&&string[i]<='z') a[2]+=1;
else a[3]+=1;
}
}
void main()
{
char string[40];
int a[4]={0,0,0,0};
gets(string);
fun(string,a);
printf("数字个数为%d,大写字母个数为%d,小写字母个数为%d,其他字符个数为%d\n",a[0],a[1],a[2],a[3]);
}
要求是统计一个字符串的数字,字母,其他字符的数目。为什么运行结果中数字,字母的数量都对,但是其他字符的数量等于数字和大写字母数量和呢?应该为0啊