永发信息网

C语言中当输入一个字符或数字后要要按下enter键,但enter键在提示计算机用户输入完成后也传达

答案:2  悬赏:60  手机版
解决时间 2021-01-25 12:40
  • 提问者网友:自食苦果
  • 2021-01-24 23:25
C语言中当输入一个字符或数字后要要按下enter键,但enter键在提示计算机用户输入完成后也传达
最佳答案
  • 五星知识达人网友:詩光轨車
  • 2021-01-25 00:10
其实是在输入后键入内容和回车一起进入到了缓冲区
如果没有把缓冲区内容读完那么下次再从缓冲区获取数据时就直接使用了遗留的缓冲区数据
一般来说会以换行符为结束 如果输入错误的话也会遗留其他数据
如果缓冲区只有一个换行符的话可以使用getchar来吸收换行符
或者fflush(stdin); rewind(stdin);来清空缓冲区追问#include
int main(void)
{int a,b,c;
a=1;
ptintf("请输入你想打印几个数\n"):
scanf("%d",&b);
while(a++<=b)
{scanf("%d",&c);
ptintf("%d\n",c);}
return 0;
}
这个要怎么用getchar吸收换行符呢
全部回答
  • 1楼网友:低音帝王
  • 2021-01-25 01:20
用getchar吸收回车追问#include
int main(void)
{int a,b,c;
a=1;
ptintf("请输入你想打印几个数\n"):
scanf("%d",&b);
while(a++<=b)
{scanf("%d",&c);
ptintf("%d\n",c);}
return 0;
}
这个要怎么用getchar吸收换行符呢追答这个你在scanf语句后面加上getchar()可以吸收掉每次输入的回车追问不用声明一个char类型变量吗?getchar不是只处理字符吗这样不行

还是会这样
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯