标题:加入getchar()的dev c++ 答案为何还是一闪而过
只看楼主
zhaoyg
Rank: 1
等 级:新手上路
帖 子:328
专家分:0
注 册:2006-8-28
 问题点数:0 回复次数:9 
加入getchar()的dev c++ 答案为何还是一闪而过
#include <stdio.h>
int main()
{
int m;

printf("please enter a number \n");
scanf("%d",&m);
printf("the number is %d",m);

getchar();
return 0;
}
我已加入getchar();,不知为何一按下回车,窗口还是自动关闭。
搜索更多相关主题的帖子: getchar dev 一闪而过 int number 
2007-02-09 10:42
田里兵蜂
Rank: 1
等 级:新手上路
威 望:2
帖 子:604
专家分:0
注 册:2007-1-29
得分:0 
加入getch();
2007-02-09 10:54
zhaoyg
Rank: 1
等 级:新手上路
帖 子:328
专家分:0
注 册:2006-8-28
得分:0 
直接不能编译,说是getch未被声明
`getch' undeclared (first use this function)

麻雀飞上枝头变凤凰,而菜鸟的我飞上枝头却感冒了,为什么我的脑袋如此的不管用呢。
2007-02-09 10:56
田里兵蜂
Rank: 1
等 级:新手上路
威 望:2
帖 子:604
专家分:0
注 册:2007-1-29
得分:0 
getchar();是从内存缓冲区得到字符,你前面用scanf()时字符缓冲区存储了字符,但并没有清除
所以后面的getchar直接从缓冲区得到,不需要输入就结束了

getch()是从控制台得到一个字符,需要输入
以前我也碰到过这个问题,后来想明白了


用getch();要在程序头部加
#include <conio.h>

[此贴子已经被作者于2007-2-9 10:57:37编辑过]

2007-02-09 10:56
zhaoyg
Rank: 1
等 级:新手上路
帖 子:328
专家分:0
注 册:2006-8-28
得分:0 
太感谢了!
解决了
不过,我还想问一下,为何在VC2005中加入getchar()就可以了

麻雀飞上枝头变凤凰,而菜鸟的我飞上枝头却感冒了,为什么我的脑袋如此的不管用呢。
2007-02-09 11:00
田里兵蜂
Rank: 1
等 级:新手上路
威 望:2
帖 子:604
专家分:0
注 册:2007-1-29
得分:0 
这个不太明白,可能各个编译器在处理这些细节时有所不同
请那个大哥给我们讲一下哈
2007-02-09 11:10
卧龙孔明
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:59
帖 子:3872
专家分:684
注 册:2006-10-13
得分:0 
这个在DEV C++中不行
可以用scanf函数

My Blog: www.aiexp.info
虽然我的路是从这里开始的,但是这里不再是乐土.感谢曾经影响过,引导过,帮助过我的董凯,飞燕,leeco,starwing,Rockcarry,soft_wind等等等等.别了,BCCN.
2007-02-09 11:53
pc新手
Rank: 1
等 级:新手上路
帖 子:93
专家分:0
注 册:2007-1-28
得分:0 

学习

不进则退
2007-02-09 13:25
delpiero
Rank: 1
等 级:新手上路
帖 子:61
专家分:0
注 册:2007-2-8
得分:0 
嗷嗷顶
嗷嗷学习

2007-02-09 13:33
zhaojunshi
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2007-2-10
得分:0 
是不是要加这个system("pause");  我一直用DEVC++编程,可能是......

2007-02-10 00:55



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-120326-1-1.html




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

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