#include <stdio.h>
main( )
{
int a,b,c; /*a,b,c分别存放字母的个数,数字符号的个数,其它字符的个数*/
char ch; /*ch存放输入的字符串中的一个字符*/
printf("本程序统计输入字符串中各类字符的个数\n");
a=0;b=0;c=0; /*字母、数字符号和其它字符的个数清0*/
printf("输入以回车结束的字符串:");
scanf("%c", &ch);
while(ch!='\n')
{ scanf("%c", &ch);
{if((ch>=97&&ch<=122||ch>=65&&ch<=90)) a++;
else if (ch>=48&&ch<=57) b++;
else if ((ch>=33&&ch<=47||ch>=58&&ch<=64)) c++;}
}
printf("字母个数:%d\n数字符号个数:%d\n其它字符个数:%d \n", a,b,c);
}
问题出在哪里了,当输入字符串a1b2c3!@#$时,字母字符的个数是2,谢谢指教