C语言写文件问题,一个你想也想不到的问题。
来源:互联网 发布:各种编程语言的区别 编辑:程序博客网 时间:2024/06/04 23:18
学了C语挺言久了,一直都对自己的调试能力很自信的。真没想到会被这个问题困扰这么久。好在最后还是调试出来了。大家试一下下边的代码,就知道怎么回事了。
#include<stdio.h>
int main()
{
scanf("%c,%c,%c",&a,&b,&c);
printf("\nyou enter:%c,%c,%c\n",a,b,c);
scanf("%c,%c,%c",&a,&b,&c);
printf("\nyou enter:%c,%c,%c\n",a,b,c);
scanf("%c,%c,%c",&a,&b,&c);
printf("\nyou enter:%c,%c,%c\n",a,b,c);
return 0;
}
#include<stdio.h>
int main()
{
scanf("%c,%c,%c",&a,&b,&c);
getchar();
printf("\nyou enter:%c,%c,%c\n",a,b,c);
scanf("%c,%c,%c",&a,&b,&c);
getchar();
printf("\nyou enter:%c,%c,%c\n",a,b,c);
scanf("%c,%c,%c",&a,&b,&c);
getchar();
printf("\nyou enter:%c,%c,%c\n",a,b,c);
return 0;
}
#include<stdio.h>
int main()
{
scanf("%c,%c,%c\n",&a,&b,&c);
printf("\nyou enter:%c,%c,%c\n",a,b,c);
scanf("%c,%c,%c\n",&a,&b,&c);
printf("\nyou enter:%c,%c,%c\n",a,b,c);
scanf("%c,%c,%c\n",&a,&b,&c);
printf("\nyou enter:%c,%c,%c\n",a,b,c);
return 0;
}
#include<stdio.h>
int main()
{
scanf("%c,%c,%c",&a,&b,&c);
fflush(stdin);
printf("\nyou enter:%c,%c,%c\n",a,b,c);
scanf("%c,%c,%c",&a,&b,&c);
fflush(stdin);
printf("\nyou enter:%c,%c,%c\n",a,b,c);
scanf("%c,%c,%c",&a,&b,&c);
fflush(stdin);
printf("\nyou enter:%c,%c,%c\n",a,b,c);
return 0;
}
大家发现什么了吗?对,就是键盘的输入缓冲区,当你按下回车键时,它其实被存储在缓冲区,当你下一次使用scanf时,就会发现输入的值错了,如你是讲scanf与fputc合用,那问题可是相当严重,你发现同一份数据被写入文件两次。郁闷吧?以后记得每次输入都要刷新键盘输入缓冲区,否则有你苦的。。。。。。
哎。。。。。。时间啊。。。。。。又是这些层次问题。。。。。。当你没有进入到那个层次,你就不知道它里面的底部细节,然后就只能很郁闷地在外面不停测试、测试。细节、底层、封装、屏蔽、透明……
学汇编是好的。。。。。。学操作系统是好的。。。。。。学编译原理是好的。。。。。。
PS:这里可以用fflush(stdin),也可以使用flushall();
- C语言写文件问题,一个你想也想不到的问题。
- C 语言中你想不到的一些问题
- C 语言中你想不到的一些问题
- 自己写的一个迷宫问题C语言
- 一个c语言的问题
- 一个C语言的问题
- c语言的一个问题
- 一个C语言问题
- 我用c语言写了一个关于商人过河的问题
- 我用c语言写了一个关于商人过河的问题
- C语言的一个奇怪的问题?
- 一个关于C语言编程的问题
- 关于自学C语言的一个问题
- 一个简单的C语言嵌套问题
- 一个简单的C语言问题
- C语言一个雷人的问题
- 一个郁闷的C语言小问题
- 一个关于C语言输入的问题
- 8A - Train and Peter
- 完美集群监控组合ganglia和nagios
- HDU 1108
- gmaping建图环境
- EventBus深入浅析之基本使用
- C语言写文件问题,一个你想也想不到的问题。
- spring XML配置导入不了properties文件
- 关闭DevExpress
- dom4j实现读入写出xml
- 基于视频的车辆识别
- [笔记]常用SQL语句
- C#线程(一)
- Bzoj 3209 花神的数论题
- Java四种引用类型