私のコードは:
#include <stdio.h>
void main( int argc, char** argv) {
printf("%s", argv[0]);
system("pwd");
}
出力は次のとおりです。
[river@localhost studio]$ ./a.out
/home/river/Desktop/studio
./a.out[river@localhost studio]$
system("pwd") が最初に印刷され、次に argv[0] が印刷されるようです。なぜ?次のようなステートメントを追加すると:
#include <stdio.h>
void main( int argc, char** argv) {
printf("%s", argv[0]);
fflush(stdout);
system("pwd");
}
出力は次のとおりです。
[river@localhost studio]$ ./a.out
./a.out/home/river/Desktop/studio
正常に動作しますが、なぜですか?