11智能在线
新记
C语言scanf语句变量为什么同时输入两次?
如题所述
举报该文章
相关建议 2020-05-30
输入两次,是为了把上一个scanf的回车符号给接收掉。
ps:避免这种多余字符,还有很多方法,比如:
一、把字符输入写在第一个 ,后面的scanf都写数值的输入。
二、循环接收字符并判断,筛除回车符号。
三、在scanf输入字符前,调用fflush(stdin)清空输入缓存。
ps:题外提示,没有特殊需求,scanf格式中不要加多余符号,否则要按格式输入,像题目中a=%d,输入时也要输入字符a=以及逗号。
温馨提示:内容为网友见解,仅供参考
当前网址:
https://11.t2y.org/zz/f78f2vsm287ms2vvqs.html
其他看法
第1个回答 2020-05-30
因为在代码第7行的输入完成后,换行符还在键盘缓冲区里,在第8行读入字符时,第一个读入到c1的字符就是这个换行符,第二个读入到c1的字符才是正确的输入字符,所以须2次读入。
相似回答
大家正在搜
相关问题
如何对scanf语句中输入的变量进行大小限制?
汇编 调用C语言Scanf为什么会要求输两次
C语言中关于scanf的问题:scanf("%d,%d\n"...
VS2010为什么用一个scanf输入语句输入两个整型变量第...
C语言,这个交互式程序为什么要输入两次啊?
c语言,请大神指点,输入一次,为何会执行两次
c语言,c语言,请解释两个scanf语句的意思。为什么输入了...
给我解释一下这个C语言程序段为什么运行时候要输入两次呢