getchar ()的问题
有这样一段程序:
#include <stdio.h>
void main ()
{
char c;
int n;
scanf ("%d",&n);
c=getchar ();
}
执行后
输入n值,敲回车
'\n'驻留在缓冲区中,使得c='\n'
该如何解决
谢谢
问题点数:20、回复次数:10Top
1 楼winfit(最后一口可乐)回复于 2002-04-01 12:09:32 得分 0
解决什么呢?不懂Top
2 楼hannibalhontani(红冰)回复于 2002-04-01 12:12:28 得分 0
例如使c='a'Top
3 楼poly30(POLY)回复于 2002-04-01 12:31:52 得分 0
这个缓冲区中的字符你不用把它怎么的。
这里用getch()只是为了在获得输入之前保持屏幕不动。
把你的要求说具体点。Top
4 楼netty(程序员的眼睛。魔术师的手。)回复于 2002-04-01 12:34:25 得分 0
重新赋值。
其余的同意楼上的Top
5 楼hannibalhontani(红冰)回复于 2002-04-01 12:35:22 得分 0
我只是想在c中输入字符Top
6 楼hannibalhontani(红冰)回复于 2002-04-01 12:36:45 得分 0
为什么在vc中没有getch ()这个函数Top
7 楼lbl20020123(天天)回复于 2002-04-01 12:49:40 得分 0
#include <stdio.h>
void main ()
{
char c;
int n;
scanf ("%d",&n);
getchar ();
c=getchar ();
}
怎么样,搞定了吧?Top
8 楼firebing(初学者)回复于 2002-04-01 13:08:20 得分 20
你也可以加进flushall()函数的。
Top
9 楼hannibalhontani(红冰)回复于 2002-04-01 16:37:23 得分 0
谢谢firebing,欢欢Top
10 楼xbnet()回复于 2002-04-01 18:57:16 得分 0
在使用getchar前,加上fflush(stdin)就没问题了Top




