C语言 ——printf函数详解

一、linux下的printf函数

在linux下为行缓冲函数,需要行缓冲区满后,才能输出。

二、结束条件

  1. 程序结束。
  2. 缓冲区满.
  3. 遇到\n.
  4. 遇到强制刷新流(fflush)

三、实例

#include 

int main(int argc, char *argv[])
{ 
#if 1 
    //没有结束条件,缓冲区也没有满的情况
    printf("this is a test1");//并不会打印,输出语句保留在行缓冲区中,进入while循环
    while(1);
#if 0
    //有\n作为printf结束条件
    printf("this is a test2\n"); //会打印之后再进入while循环
    while(1);
#endif
#if 0
    printf("this is test3");
    fflush(stdout);//强制刷新,行缓冲区输出
    while(1);
#endif
#if 0
printf("this is test4");//没有while循环,碰到return 0 程序结束,输出缓冲区内容
#endif



return 0;
} 





运行结果

test1,程序一直循环,且printf中内容未输出:
在这里插入图片描述

test2,有\n作为printf结束条件,printf中内容输出后一直循环:
在这里插入图片描述


test3,fflush(stdout)强制刷新输出缓冲区,printf中内容输出后一直循环:

在这里插入图片描述


test4,没有while循环,碰到return 0 程序结束,输出缓冲区内容

在这里插入图片描述

你可能感兴趣的:(C语言学习,嵌入式学习,c语言,开发语言)