isdigit 函数, isalpha函数 返回值不对。。
程序是这个 (统计字符的程序), 不同编程程序 返回值都不同。求解。。
#include<stdio.h>
#include<string.h>
#include<ctype.h>
char str[1000]="";
int ch=0,fi=0,bl=0,ot=0;
int judge(char str[])
{
int i;
int k=0;
for(i=0;str[i]!='\0';i++)
{
k=ch+fi+bl;
ch+=isalpha((int)str[i]);
fi+=isdigit((int)str[i]);
if(str[i]==' ')
bl+=1;
if((ch+fi+bl)==k)
ot+=1;
}
return 0;
}
int main(void)
{
gets(str);
judge(str);
printf("the first is <%s>\n",str);
printf("charcter number is %d;\n",ch);
printf("figure number is %d\n",fi);
printf("blank space number is %d\n",bl);
printf("other char number is %d\n",ot);
}