这里有趣的小虫子:
if (host != NULL) {
printf("hi");
} else {
printf("FAIL");
}
return 0;
根本不打印任何内容,但是:
if (host != NULL) {
printf("hi");
} else {
printf("FAIL");
}
fprintf(stdout, "\n%s\n", (char *)&additionalargs);
return 0;
打印
喜
ABC
有谁知道这是为什么?
答案 0 :(得分:7)
printf输出到stdout是缓冲的。您可能需要查看fflush
答案 1 :(得分:5)
不同的是\ n字符。
当你打印字符时,它们被累积在缓冲区中,直到发送“行尾”字符才会发送到输出设备。
答案 2 :(得分:0)
尝试在fflush(stdout)
条件之前使用if
。