scanf是带缓冲的函数,……
来源:互联网 发布:Java 过滤器不过滤 编辑:程序博客网 时间:2024/06/08 14:07
#include<stdio.h>
void main()
{
chara,b;
printf("please input a=");
scanf("%c",&a);
//printf("%d",a);
printf("please input b=");
scanf("%c",&b);
printf("\na=%d",a);
printf("\nb=%d\n",b);
//printf("hello");
}
void main()
{
}
scanf是带缓冲的函数,当缓冲区中有数据的时候直接取就是了;所以 你在输入数字的时候,后面输入的回车就直接保存到变量b了所以b的值实际上是 '\n' (回车符)解决办法:
1,在 scanf("%c",&a)后面加个 fflush(stdin) //清除缓冲区函数
2,加个while((a==getchar()) !='\n'); //这是效率很高的清除缓冲区中回车符及之前字符的方法
附:getchar()也是带缓冲区的函数。
0 0
- scanf是带缓冲的函数,……
- scanf是带缓冲的函数,……
- scanf是带缓冲的函数
- scanf函数与printf函数的行缓冲
- scanf()函数如何输入一个带空格的字符串函数
- 用scanf()函数输入带空格的字符串
- 使用scanf()函数接收带空格的字符串
- 人生的缓冲带
- 关于VS2013中scanf()函数的C4996错…
- 带缓冲的IO和不带缓冲的IO
- AVPlayer的使用,带缓冲
- 不带缓冲的IO
- 带缓冲IO与不带缓冲的IO
- scanf()函数的说明
- scanf函数的用法
- scanf函数的使用
- scanf函数的特点
- scanf函数的使用方法
- 关于C#中Thread.Join()的一点理解
- 关于C#中Thread.Join()的一点理解
- 关于fprintf对于double型变量的保…
- 关于fprintf对于double型变量的保…
- scanf是带缓冲的函数,……
- scanf是带缓冲的函数,……
- 读者2011年18期_卷首语_一期一会
- 读者2011年18期_卷首语_一期一会
- 读者2011年18期_卷首语_一期一会
- 读者2011年18期_卷首语_一期一会
- Eclipse运行时提示failed to creat…
- Eclipse运行时提示failed to creat…
- php爬取页面的方法总结
- Eclipse运行时提示failed to creat…