| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 722 人关注过本帖
标题:[求助]不太理解--关于getchar()函数的一个题
只看楼主 加入收藏
fyqabc
Rank: 1
等 级:新手上路
帖 子:110
专家分:3
注 册:2006-3-4
结帖率:54.55%
收藏
 问题点数:0 回复次数:4 
[求助]不太理解--关于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 函数 
2007-06-08 01:48
killer_l
Rank: 2
等 级:新手上路
威 望:3
帖 子:1139
专家分:0
注 册:2007-5-25
收藏
得分:0 
while((c=getchar()) != '\n')  //当输入不是回车时,循环继续.....

2007-06-08 07:48
大腹便便
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2007-5-8
收藏
得分:0 
原来如此,偶小菜鸟长知识了
2007-06-08 12:00
fyqabc
Rank: 1
等 级:新手上路
帖 子:110
专家分:3
注 册:2006-3-4
收藏
得分:0 
[fly][shadow=255,red,10]明白了,谢谢![/shadow][/fly]

工欲善其事,必先利其器!
2007-06-09 16:23
wuyazi
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2007-4-12
收藏
得分:0 

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

2007-06-10 17:29
快速回复:[求助]不太理解--关于getchar()函数的一个题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018791 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved