C语言输入单个字符屏蔽回车符的四种解决方法
2014-05-29 14:36
323 查看
C语言的scanf()函数在接收输入单个字符时会把上一次输入的回车符号当做这次输入的字符,造成无法正确的输入字符数据。这恐怕是初学C的童鞋门遇到的最头疼的问题了。今天给大家提供四种解决方法供借鉴。
在scanf()中使用'\n'屏蔽回车符号。
scanf("%d\n",&n); //使用'\n'过滤回车
scanf("%c",&c);
在scanf()格式串最前面添加空格,屏蔽回车字符
scanf("%d",&n);
scanf(" %c",&c); //%c前面加空格,过滤回车
在接收字符前,使用getchar()来读取一次回车符号
scanf("%d",&n);
getchar(); //专门用来读取上次输入的回车符号
scanf("%c",&c);
在接收字符前,使用fflush()清空输入流中缓冲区中的内容
scanf("%d",&n)
fflush(stdin); //清空输入流缓冲区的字符,注意必须引入#include <stdlib.h>头文件
scanf("%c",&c);
好了,以后再也不用为这个问题烦恼了.....
在scanf()中使用'\n'屏蔽回车符号。
scanf("%d\n",&n); //使用'\n'过滤回车
scanf("%c",&c);
在scanf()格式串最前面添加空格,屏蔽回车字符
scanf("%d",&n);
scanf(" %c",&c); //%c前面加空格,过滤回车
在接收字符前,使用getchar()来读取一次回车符号
scanf("%d",&n);
getchar(); //专门用来读取上次输入的回车符号
scanf("%c",&c);
在接收字符前,使用fflush()清空输入流中缓冲区中的内容
scanf("%d",&n)
fflush(stdin); //清空输入流缓冲区的字符,注意必须引入#include <stdlib.h>头文件
scanf("%c",&c);
好了,以后再也不用为这个问题烦恼了.....
相关文章推荐
- scanf() 输入单个字符屏蔽回车符的四种解决方法
- 关于C++中给int变量输入字符引起的死循环解决方法
- 完美解决x2注册页面出现‘抱歉,你输入的用户名小于3个字符问题’的两种方法
- C语言中字符的输入输出以及计算字符个数的方法详解
- 连续输入多个字符出现的问题解决方法
- 关于JAVA像C语言那样从控制台接收输入的字符的方法(一些代码转载)
- C语言字符串输入,gets函数的缺点以及解决方法
- Mac OSX Versions输入username按1下都会出现2个字符,并且不能create,解决方法
- 在输入中文的时候,高亮字段影响字符长度判断的解决方法
- Windows C Shell无法输入字符的解决方法
- linux下字符终端某些按键无法输入解决方法
- 编辑框中只允许输入某些特定字符的解决方法
- linux shell获取用户输入指定范围的单个字符的两种方法
- 在Powe Point 2007 里输入汉字 、字符、数字等,非常慢的解决方法
- c语言中scanf输入带空格的字符串以及scanf输入单个字符的问题
- linux shell实现获取用户输入指定范围的单个字符的两种方法
- VC编辑器输入字符会替换掉原来字符解决方法
- Discuz X2.5 用户名包含被系统屏蔽的字符[解决方法]
- 【C语言】getchar单个字符依次输入(可对单个字符进行处理)
- linux shell提示输入 输错字符解决方法