printf除非换行符在格式字符串中,为什么在调用后不刷新?这是POSIX的行为吗?我怎么可能printf每次都立即冲洗?
为什么,如果我写
int main()
{
//...
}
Run Code Online (Sandbox Code Playgroud)
return 0;在main功能结束时我不需要写吗?编译器是否为我做了?
我用的是GCC/C99.
我刚刚开始在c中使用system()函数,并且考虑过使用system函数从其内部启动相同的可执行文件,因此编写了以下程序
#include <stdlib.h>
#include <stdio.h>
int main()
{
printf("some string");
system("./a.out");
}
Run Code Online (Sandbox Code Playgroud)
我用gcc编译了
当我运行该程序时,它什么也没打印,只是一直运行直到我使用快捷键ctrl-c停止执行,然后它才开始打印输出(直到我停止它,它才打印任何内容)
我相信这些语句应该按顺序执行,为什么在我停止它之前不打印任何内容?