鱼C论坛

 找回密码
 立即注册
查看: 221|回复: 2

请问为什么最后的函数butler中的printf不会打印出来

[复制链接]
发表于 2024-2-27 16:56:14 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
  1. #include<stdio.h>
  2. void butler(void);
  3. int main(void)
  4. {
  5.     printf("I will summon the butler function.\n");
  6.     butler();
  7.     printf("Yes. Bring me some tea and writeable DVDs.\n");

  8.     return 0;
  9. }
  10. void butler(void)
  11. {
  12.     printf("You rang, sir?\n");
  13. }
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2024-2-27 16:56:31 | 显示全部楼层
这是因为在函数butler中,printf语句后面没有使用换行符\n,导致输出没有立即刷新。解决这个问题有两种方法:

1. 在butler函数的最后加上一个换行符\n:
  1. void butler(void)
  2. {
  3.     printf("You rang, sir?\n");
  4. }
复制代码


2. 在butler函数的最后加上强制刷新的代码`\fflush(stdout)`:
  1. void butler(void)
  2. {
  3.     printf("You rang, sir?");
  4.     fflush(stdout);
  5. }
复制代码


通过以上两种方法的任一种,都能确保在调用butler函数后,立即输出内容。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-2-27 17:39:27 | 显示全部楼层
会输出的,你检查下是不是没有重新编译?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-5-11 03:17

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表