1. fflush()函数
此函数包含在stdio.h头文件中,用来强制将缓冲区中的内容写入文件。
函数原型:int fflush(FILE *stream) ;
函数功能:清除一个流,即清除文件缓冲区,当文件以写方式打开时,将缓冲区内容写入文件。也就是说,对于ANSI C规定的是缓冲文件系统,函数fflush用于将缓冲区的内容输出到文件中去。
函数返回值:如果成功刷新,fflush返回0。指定的流没有缓冲区或者只读打开时也返回0值。返回EOF指出一个错误。
但是gcc下fflush函数没用。
2. sleep()函数
使调用sleep函数的[线程]睡眠(挂起)
3. 关于变量初始化
尽量在定义一个变量时就同时初始化,否则访问未初始化的值可能导致严重错误。
4. 关于精度问题
#include <stdio.h>
int
main(int argc, char const *argv[])
{
float a = 0.88;
float b = 0.01;
float c = a + b;
// printf("%f\n", c);
printf("%0.10f\n", c);
return 0;
}
可以比较两个不同的prihtf语句,第一条 printf("%f\n", c); 打印结果为0.890000。第二条 printf("%0.10f\n", c); 打印结果为0.8899999857。即显示位数比较多时结果会出现小误差,因为计算机无法用有限的bit表示无限的精度。
运行下面代码:打印结果为false
#include <stdio.h>
int
main(int argc, char const *argv[])
{
float a = 0.88;
float b = 0.01;
float c = a + b;
printf("%f\n", c);
// printf("%0.10f\n", c);
if (c == 0.89)
{
printf("true\n");
}
else
{
printf("false\n");
}
return 0;
}