当前位置: 代码迷 >> C语言 >> [求助]不太理解--关于getchar()函数的一个题
  详细解决方案

[求助]不太理解--关于getchar()函数的一个题

热度:391   发布时间:2007-06-08 01:48:19.0
[求助]不太理解--关于getchar()函数的一个题
#include "stdio.h"
void main()
{
int letter=0,space=0,digit=0,other=0;
char c;
printf("input letter: ");
while((c=getchar())!='\n')
{if(c>='a' && c<='z' || c>='A' && c<='Z')
letter++;
else if(c>='0' && c<='9')
digit++;
else if(c==' ')
space++;
else other++;}
printf("letter=%d,space=%d,other=%d,digit=%d",letter,space,other,digit);
getch();
}

这个程序的意思是输入一行字符,打印出其中字符、数字、空格、其它字符的个数。
getchar()函数只能接收“一个字母”,为什么输入一行后,回车能够正确打印出来?
搜索更多相关的解决方案: getchar  函数  

----------------解决方案--------------------------------------------------------
while((c=getchar()) != '\n')  //当输入不是回车时,循环继续.....
----------------解决方案--------------------------------------------------------
原来如此,偶小菜鸟长知识了
----------------解决方案--------------------------------------------------------
[fly][shadow=255,red,10]明白了,谢谢![/shadow][/fly]
----------------解决方案--------------------------------------------------------

只有敲击ENTER后才把字符送到内存中去,并不是每输入一个字符,就在屏幕上显示一个字符,所以当敲击ENTER后getchar()函数才会将字符一个一个的在屏幕上输出


----------------解决方案--------------------------------------------------------
  相关解决方案