gpt4 book ai didi

c - 丝网打印令人困惑?

转载 作者:太空宇宙 更新时间:2023-11-04 02:15:45 25 4
gpt4 key购买 nike

我的代码是:

#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

正常工作,为什么?

最佳答案

printf 调用仅将输出放入缓冲区。对于要实际写入的缓冲区,需要刷新。当您打印换行符时,输出会自动刷新,因此如果您将 printf 中的格式字符串替换为:"%s\n" 它应该可以在不调用fflush.

关于c - 丝网打印令人困惑?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7951928/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com