1
我的代碼是:屏幕打印令人困惑?
#include <stdio.h>
void main(int argc, char** argv) {
printf("%s", argv[0]);
system("pwd");
}
的輸出是:
[[email protected] studio]$ ./a.out
/home/river/Desktop/studio
./a.out[[email protected] studio]$
似乎系統( 「PWD」)打印第一,然後打印的argv [0]。爲什麼? 如果我添加如下語句如下:
#include <stdio.h>
void main(int argc, char** argv) {
printf("%s", argv[0]);
fflush(stdout);
system("pwd");
}
輸出是:
[[email protected] studio]$ ./a.out
./a.out/home/river/Desktop/studio
它正常工作,爲什麼?
...並調用 「系統」 不刷新輸出流,甚至使用輸出流 - 中由「系統」調用的命令直接寫入並立即寫入控制檯,然後在程序結束時刷新緩衝區,並顯示您輸入的行。 –