我写了printf()如下声明:
printf("hello\n");
Run Code Online (Sandbox Code Playgroud)
使用Linux的gcc编译器构建时,这很好用.但是,如果我写
printf("hello");
Run Code Online (Sandbox Code Playgroud)
打印件不会出现在屏幕上.似乎有一些缓冲机制?有人可以给我更多相关信息吗?
即使缓冲不是问题,如果你不打印换行符,你的shell的提示可能会破坏输出.
我不确定你在哪个环境中运行它,但是如果你是在unix shell中使用gcc并且在程序结束时执行printf("hello")它将不会在shell提示符之前打印换行符被展示.提示将打印在同一行,有时会覆盖整行,具体取决于您设置的提示类型.