[求助]不太理解--关于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()函数只能接收“一个字母”,为什么输入一行后,回车能够正确打印出来?
----------------解决方案--------------------------------------------------------
while((c=getchar()) != '\n') //当输入不是回车时,循环继续.....
----------------解决方案--------------------------------------------------------
原来如此,偶小菜鸟长知识了
----------------解决方案--------------------------------------------------------
[fly][shadow=255,red,10]明白了,谢谢![/shadow][/fly]
----------------解决方案--------------------------------------------------------
只有敲击ENTER后才把字符送到内存中去,并不是每输入一个字符,就在屏幕上显示一个字符,所以当敲击ENTER后getchar()函数才会将字符一个一个的在屏幕上输出
----------------解决方案--------------------------------------------------------