C语言中,scanf时输入数据时, 如何忽略输入的字符?
3个回答
展开全部
你的意思是输入多简友余的字符吧?
1、因为你用scanf输入的字符都是输入到缓冲区中的,例如你定义了一个只接受一个字符的变量ch,但却输入了多余的字符,这种情况会给编译器造成困扰,因为他并不完全智能,通常采用这种方法释放掉缓冲区内多余的字符输入;例如:
2、char ch;
scanf("%c", &ch);//假如你不小心输入了多个字符
//高高解决方法如下
while (‘\n’ != getchar())
{continue;}//这里的原理一不断的用getchar读取缓冲区内的字符,并将其废戚咐尺弃掉,直到遇到你输入的回车符(当然也可以是别的输入结束符);
1、因为你用scanf输入的字符都是输入到缓冲区中的,例如你定义了一个只接受一个字符的变量ch,但却输入了多余的字符,这种情况会给编译器造成困扰,因为他并不完全智能,通常采用这种方法释放掉缓冲区内多余的字符输入;例如:
2、char ch;
scanf("%c", &ch);//假如你不小心输入了多个字符
//高高解决方法如下
while (‘\n’ != getchar())
{continue;}//这里的原理一不断的用getchar读取缓冲区内的字符,并将其废戚咐尺弃掉,直到遇到你输入的回车符(当然也可以是别的输入结束符);
更多追问追答
追问
我原本输入的是数据,但是程序写完我输入单个字符或字符串程序就出错,所以我想在输入时,不识别字符。
追答
字符和字符串也是数据啊,你输入的是什么类型的数据呢最好能贴个代码什么的。。。嘿嘿
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询