printf()函数缓冲行输出的条件:
(1);缓冲区满一行自动输出(一行缓冲区存放的字符很多)
(2):printf()函数遇到‘\n’或‘\r’自动输出
(3):执行到return 0;(由于return 0;的“收尾工作”)
示例
#include <stdio.h>
int main()
{
printf(“hello world!”);
(//) while(1);
return 0;
}
若while(1);未被注释
则什么也不输出,不满足输出条件的任何一个。
若while(1);被注释掉,由于return 0;的收尾工作,hello world 将会被输出
总结:在使用printf()函数输出的时候,要习惯性的在输出语句的最后加上‘\n’;
另外scanf()函数和printf()函数公用一个缓冲区,效果可从如下示例看出
#include <stdio.h>
int main()
{
int num;
printf(“hello world!”);
scanf(“%d”,&num)
return 0;
}
运行效果:输出 hello world
因为scanf()函数和printf()函数共用一个缓冲区,想要scanf()函数输入的时候,必须先要清空缓冲区,将缓冲区中的内容输出