<分区>
这是我的程序。
#include <stdio.h>
#include <stdlib.h>
int main()
{
printf("Hello\n");
system("uname");
return 0;
}
这是输出。
$ gcc foo.c
$ ./a.out
Hello
Linux
但是,如果我将程序的输出重定向到一个文件,我会看到输出的顺序是相反的,即 Linux
打印在 Hello
之前。
$ ./a.out > out.txt
$ cat out.txt
Linux
Hello
为什么涉及重定向时输出的顺序不同?