一个C语言的问题
求个字符串的数字和字母个数~#include<stdio.h>
main()
{
char a[100];
gets(a);
str(a[100]);
}
#include<string.h>
str(char a[])
{
int i,k,x,shuzi=0,zimu=0,other=0;
x=strlen(a);
for(i=0;i<x;i++)
{
if(a[i]>='1'&&a[i]<='9')shuzi++;
else if(a[i]>='a'&&a[i]<='z’||a[i]>='A'&&a[i]<='Z')zimu++;
else other++;
}
printf("shuzi=%d,zimu=%d,other=%d",shuzi,zimu,other);
}
运行后结果不正确,但为什么我在for循环里面再加上k=(char)a[i];就正确了?