为什么可以检测输入的数量

比如我输入“aP8,m%”,为什么他可以用循环检测各种类型的数量,是因为判断一次消耗一个键入的字符吗

#include  
int main() 
{ 
  char ch; 
  int s=0,i=0,j=0; 

  
  
    while((ch=getchar())!='\n') 
     { 
     if((ch>='a'&&ch<='z')||(ch>='A'&&ch<='Z'))
     s++;
     
     else if(ch > 47&&ch < 58)
     i++;
     
     else
     j++;
     } 
     
     printf("capital:%d\n",s);  
     printf("number:%d\n",i);
     printf("other:%d\n",j);
     

  return 0; 
} 

getchar()从输入挨个接收字符给ch,进行后面的判断