嵌入式基础学习笔记
NO.1
do
{
setbuf(stdin, NULL);
scanf();
}while(i < 1000);
循环判断输入是否正确时,要考虑的一个点:要求你输入数字,但是你一直输入字符,虽然不符合条件,但是输入的值一直在缓冲中,所以每次输入时,重新清空缓冲区。
扩展缓冲区刷新知识:
缓冲区刷新方式有:
fflush() 1.fflush(stdin) 仅对window有用 fflush(FILE *stream) 适用linux ;
rewind(stdin) 仅对Windows有用
setbuf(stdin, NULL); 两者都能用
getchar() 读取单个字符,用于读取缓冲区里的回车字符
puts() 与 putchar() 的区别 前者多一个回车
NO.2
函数体布局
define 预处理相关
void function(); 函数声明
main(){}
void function(){} 函数定义
NO.3
内存覆盖问题
int NUM;
char ch;
申请的内存空间挨在一起,如果给用scanf("%s", &ch); 给 ch 赋值,很容易将num的值覆盖为0 或其他数,格式问题很重要
NO.4
定义变量尽量用有意义的名字