| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 869 人关注过本帖
标题:关于 getchar()的应用
只看楼主 加入收藏
板砖会转弯
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2014-5-17
结帖率:0
收藏
已结贴  问题点数:20 回复次数:11 
关于 getchar()的应用
void main(){
       int i=0;
char a[6];
       for(i=1;i<=5;i++){
           a[i]=getchar();
           getchar();
}
}
以上程序为了输入字符字符数组a,但是for 内的第二个getchar()的作用是什么咩
求教大神
!!
2014-05-17 15:13
板砖会转弯
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2014-5-17
收藏
得分:0 
而且为什么需要我从键盘输入7个字符?
2014-05-17 15:15
longxingxiu
Rank: 2
等 级:论坛游民
帖 子:73
专家分:64
注 册:2014-4-23
收藏
得分:3 
回复 楼主 板砖会转弯
一个输入会吸引前面一个输入的enter进来,加上getchar可以避免
2014-05-17 17:01
a631908999
Rank: 1
等 级:新手上路
帖 子:9
专家分:6
注 册:2014-5-18
收藏
得分:3 
以下是引用longxingxiu在2014-5-17 17:01:08的发言:

一个输入会吸引前面一个输入的enter进来,加上getchar可以避免
推荐楼主用getch(),就可以少写一个getchar()。关于你那个输入7个字符的问题,表示不懂
2014-05-18 10:43
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:3 
你们把最后的getchar()赋值给一个变量,然后运行时输入10个字符按回车,看那个getchar()吸收的字符是不是回车?那多出来的5个字符,怎么吸收得尽?假如人家敲了20个字符再回车呢?你程序能预计用户会敲多少字符进去再回车?

授人以渔,不授人以鱼。
2014-05-18 11:56
longxingxiu
Rank: 2
等 级:论坛游民
帖 子:73
专家分:64
注 册:2014-4-23
收藏
得分:0 
回复 2 楼 板砖会转弯
2014-05-18 11:57
xiaozi2013
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:四川成都
等 级:蒙面侠
威 望:6
帖 子:830
专家分:4331
注 册:2013-12-13
收藏
得分:3 
以下是引用TonyDeng在2014-5-18 11:56:56的发言:

你们把最后的getchar()赋值给一个变量,然后运行时输入10个字符按回车,看那个getchar()吸收的字符是不是回车?那多出来的5个字符,怎么吸收得尽?假如人家敲了20个字符再回车呢?你程序能预计用户会敲多少字符进去再回车?



恩!以有心对无心了

--整天敲那些破代码能找着媳妇儿吗。。。---
2014-05-18 13:18
砖家的谎言
Rank: 12Rank: 12Rank: 12
等 级:禁止访问
威 望:30
帖 子:693
专家分:3898
注 册:2013-12-6
收藏
得分:3 
getchar一次只能接受一个字符,不管你输入多少。

我不是砖家,要努力成为砖家。
2014-05-18 13:20
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
以下是引用xiaozi2013在2014-5-18 13:18:13的发言:

 
 
 
恩!以有心对无心了

這不是有心無心的問題,而是寫程序必須要考慮的問題,假如說不需要考慮這種問題,那麽連那個getchar()也不需要寫,既然寫了,就要考慮周全。

授人以渔,不授人以鱼。
2014-05-18 13:40
top398
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:2
帖 子:427
专家分:857
注 册:2014-5-2
收藏
得分:3 
getchar() 是缓冲输入,直到用户按下回车才反馈给调用程序。
还是用 getch() 一个个接收并判断吧。或者 gets() 一次读入整行再判断。
2014-05-18 13:52
快速回复:关于 getchar()的应用
数据加载中...
 
   



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

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