| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 434 人关注过本帖
标题:关于%c的问题
只看楼主 加入收藏
SilentHunter
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2006-11-11
收藏
 问题点数:0 回复次数:7 
关于%c的问题
一次在运行程序时,语句里明明有
scanf("%c",&c);
但程序并不让你输入,只是一闪而过
同样有时 c=getchar();也是如此
还有的时候执行
scanf("%c",&c);
输入完毕以后,并不能有效的给c赋值
请问这是为什么?
搜索更多相关主题的帖子: 运行程序 
2007-07-08 12:43
c7118250110
Rank: 1
等 级:新手上路
帖 子:22
专家分:0
注 册:2007-6-29
收藏
得分:0 

我想你%c是什么意思你没搞懂吧

2007-07-08 12:49
leeco
Rank: 4
等 级:贵宾
威 望:10
帖 子:1029
专家分:177
注 册:2007-5-10
收藏
得分:0 
请确定你输入缓冲区的第一个字符究竟是什么。
如果你想跳过'\t','\n',' ',可以这样while(isspace(c=getchar()));
2007-07-08 14:37
我是菜鸟哦
Rank: 6Rank: 6
等 级:贵宾
威 望:22
帖 子:921
专家分:209
注 册:2007-5-4
收藏
得分:0 
我想你没有清空输入缓冲流吧

偶是菜鸟鸟偶惧WHO?!!!!
2007-07-08 15:17
卧龙孔明
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:59
帖 子:3872
专家分:684
注 册:2006-10-13
收藏
得分:0 
使用前先将键盘缓存中的回车符等去处,然后再scanf

My Blog: www.aiexp.info
虽然我的路是从这里开始的,但是这里不再是乐土.感谢曾经影响过,引导过,帮助过我的董凯,飞燕,leeco,starwing,Rockcarry,soft_wind等等等等.别了,BCCN.
2007-07-08 17:27
qimiao610
Rank: 1
等 级:新手上路
帖 子:39
专家分:0
注 册:2007-6-16
收藏
得分:0 

scanf("%c",&c);的%c前加个空格,因为scanf里的字符型会把前个语句的空格或回车当有效字符输入,所以在%c前加个空格,就不会出现一闪而过的情况了
我也遇到过这种情况!!


世间最珍贵的不是\'得不到\'和\'已失去\',而是现在能把握的幸福!!!!
2007-07-08 17:49
死了都要C
Rank: 4
来 自:四川成都
等 级:贵宾
威 望:13
帖 子:1582
专家分:116
注 册:2006-12-7
收藏
得分:0 
LS说的是最简单的方法了```加一个空格OK```

女施主``我给你``送茶来了```师太``你就从了老衲吧``
代码本天成~~~妙头偶得之```
2007-07-08 21:19
windflush
Rank: 3Rank: 3
等 级:新手上路
威 望:8
帖 子:886
专家分:0
注 册:2007-7-1
收藏
得分:0 
以下是引用qimiao610在2007-7-8 17:49:31的发言:

scanf("%c",&c);的%c前加个空格,因为scanf里的字符型会把前个语句的空格或回车当有效字符输入,所以在%c前加个空格,就不会出现一闪而过的情况了
我也遇到过这种情况!!

这个方法倒是挺简单的嘛~~
我以前在循环里用scanf的时候也遇见过这种错误,虽然知道是由于缓冲区引起的,但是当时还是让我们班的人头疼不已。


2007-07-08 21:22
快速回复:关于%c的问题
数据加载中...
 
   



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

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