#include <stdio.h>
void main()
{
   char ch;
    int c=0,d=0;
    printf("请输入字符\n");
    while(1)
    {  
    scanf("%c",&ch);
    if(ch=='?')
    break;
    if(ch>'a'&&ch<'z')  
    c++;
    else if(ch>'0'&&ch<'9')
    d++;
    }
    printf("%d,%d\n",c,d);
}

解决方案 »

  1.   

    你在窗口从键盘输入的字符串首先会进入缓冲区,  然后程序从缓存区进行读取
    因为循环是一次一次进行的,  你循环是每次读取一个char字符然后后面有三个条件语句的判断
    你也可以尝试使用编译器的调试进行单步调试即可查看为什么是一个一个字符进行的