DAY 发表于 2016-5-15 21:55:24

连着输入一个整型和一个字符型,消除接受回车字符问题

本帖最后由 DAY 于 2016-5-19 21:55 编辑

#include<stdio.h>
int main()
{
int n;
char m;
scanf("%d",&n);
getchar();
scanf("%c",&m);
printf("%d %c",n,m);
return 0;
}
通过getchar();是可以消除回车带来的问题,但是我记得好像还有个函数可以清除回车字符。。
但是我想在不记得了,我在网上也没找到这个用函数清楚的方法,就到论坛问问,有谁知道请告诉我一下。
感激不尽。。。

n0noper 发表于 2016-5-16 14:51:45


卤煮是不是想要这个:fflush(stdin);

陌雨 发表于 2016-5-16 15:53:40

我那天在网上看到是fflush(stdin),但是我试了没有效果,
然后呢我搜索了一下网上的经验有两个方法,效果还算可以
一:
char ch;
while(ch=getchar!='\n' && ch!=EOF);

二:
scanf("%*c");
scanf("%*[^\n]");

DAY 发表于 2016-5-16 16:12:30

陌雨 发表于 2016-5-16 15:53
我那天在网上看到是fflush(stdin),但是我试了没有效果,
然后呢我搜索了一下网上的经验有两个方法,效果还 ...

一个清除回车的函数,,

陌雨 发表于 2016-5-17 22:12:24

本帖最后由 陌雨 于 2016-5-17 22:15 编辑

DAY 发表于 2016-5-16 16:12
一个清除回车的函数,,

像你代码里面那样使用getchar() 肯定不行啊,scanf要遇到\n才能把缓冲区的东西发送出去,你getchar()一下直接把\n拿走了所在就一直卡哪儿了,你在getchar前面随便加一句代码就可以了

DAY 发表于 2016-5-19 21:54:50

看来这个函数不常用,,,
页: [1]
查看完整版本: 连着输入一个整型和一个字符型,消除接受回车字符问题