gcc c语言中scanf输入格式不正确,清空缓冲区问题
2013-08-04 22:26
344 查看
我的博客:www.while0.com
折磨了一下午,只因为fflush(stdin)再gcc里和vc里表现不一致。gcc里不能够清空缓冲区。直接上例子:
折磨了一下午,只因为fflush(stdin)再gcc里和vc里表现不一致。gcc里不能够清空缓冲区。直接上例子:
#include <stdio.h> #include <stdlib.h> int main() { int a = 0; /** **如果输入的是字母而不是整数,则要先清空缓冲区,不然循环时会直接从缓冲区拿走刚才输入不通过的字母,变成死循环 **/ while(a == 0){ printf("a请输入一个整数:\n"); //fflush(stdin); //vc平台可以清空缓冲区,gcc不可以。 while ((getchar()) != '\n'); //把缓冲区里的数据读干净,实现清空缓冲区的效果 scanf("%d", &a); } printf("%d", a); return 0; }
相关文章推荐
- C语言scanf函数输入时键盘缓冲区\n的问题[经典问题]
- C语言scanf函数输入时键盘缓冲区\n的问题[经典问题]
- C语言编程在Xcode中Scanf 输入跳过以及清空键盘缓冲区总结
- C语言scanf函数输入时键盘缓冲区\n的问题
- 关于输入字符串格式不正确的问题
- C语言清空输入缓冲区的N种方法对比
- C语言清空输入缓冲区的N种方法对比
- scanf(), getchar(), 以及gets(),空白符以及输入缓冲区的问题
- C语言清空输入缓冲区的N种方法对比
- C语言清空输入缓冲区的N种方法对比
- C语言清空输入缓冲区的N种方法对比
- C语言清空输入缓冲区的N种方法对比(转)
- C语言格式输入函数scanf()详解
- C语言中scanf函数中%[]格式控制符用法 scanf清除缓冲区
- C语言的输入缓冲区相关问题
- c语言scanf()停止接受输入及scanf("%c",&c)吃掉回车或者空格字符的问题
- C语言中利用scanf语句输入多个值的问题
- 【C语言】scanf,fgets,fputs缓冲区问题
- cin的用法及清空输入缓冲区问题
- C语言清空输入缓冲区的N种方法对比