打印语句在无限循环之前不会打印

2023-12-06

在尝试调试一些 C 代码时,我注意到如果将 printf() 放在无限循环之前,则不会执行。有人知道为什么吗?实际上这没什么大不了的,但对于调试来说却是一场噩梦。

#include<stdio.h>

int main()
{
  int data;

  printf("This prints fine.\n");  

  printf("Enter data: ");
  scanf("%d", &data);

  printf("This should print but it doesn't.\n");

  while(1)
  {
    //Infinite Loop
  }

  return 0;
}

调用 printf() 时,程序终止或遇到换行符后将显示输出。 但由于您在 printf() 之后调用无限循环,因此程序不会终止,并且缓冲区的输出不会显示。

Use fflush(stdout)强制显示缓冲区的输出

stdout标准输出流是应用程序的默认输出目的地。在大多数系统中,它通常默认定向到文本控制台(通常在屏幕上)。

The fflush()函数导致系统清空缓冲区

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

打印语句在无限循环之前不会打印 的相关文章

随机推荐

  • python 中 GSDMM 的实际示例?

    我想使用 GSDMM 将主题分配给我的数据集中的一些推文 我发现的唯一例子 1 and 2 不够详细 我想知道您是否知道一个显示 GSDMM 是如何使用 python 实现的来源 或者足够关心做一个小例子 我最终编译了 GSDMM 的代码
  • 无法升级Android SDK

    我已经关闭了所有窗口 重新启动了计算机 但 Eclipse 告诉我 C Program Files android sdk tools 正在被访问 我什至删除了该目录 但我仍然得到 如何修复 无法重命名目录 C Program 文件 And
  • 使用 ToString() 格式化时小数和双精度之间的舍入差异

    使用格式化数值时我发现结果存在差异ToString F2 0 125m ToString F2 CultureInfo InvariantCulture 0 13 0 125 ToString F2 CultureInfo Invarian
  • 将所有并排单词成对分割字符串单词[关闭]

    很难说出这里问的是什么 这个问题模棱两可 含糊不清 不完整 过于宽泛或言辞激烈 无法以目前的形式合理回答 如需帮助澄清此问题以便重新打开 访问帮助中心 我需要将字符串分割成单词 然后将每个连续的单词成对连接 如下所示 This is my
  • 检查文件/文件夹访问权限

    我得到一个UnautorizedAccessException运行这段代码 string fileList Directory GetFiles strDir strExt 异常发生在c users username appdata如何检查
  • Worklight 构建错误无法初始化 ClientProjectBuilder

    我突然开始收到如下所示的工作灯构建错误 我不知道为什么它突然开始发生 该代码工作正常 直到我用于 Xcode 构建的远程计算机重新启动 有什么线索可能导致它吗 ipad 构建失败 初始化 ClientProjectBuilder 失败 an
  • Amazon sns(推送通知)不发送到 IOS 应用程序

    最近app收不到通知 android端正常 ios端却失败 所以这就是我的尝试 1 generate token from apple apn service 2 create the endpoint at amazon backend
  • 代码行分析器是否需要解析树,这是否足够?

    我正在尝试确定为某种语言 例如可用于 Python 和 Matlab 的语言 编写线路分析器所需的条件 解释 行分析器 的一种天真的方法是假设可以在每一行周围插入时间记录 但行的定义取决于解析器如何处理空格 这只是第一个问题 似乎需要使用解
  • 跳出包含 switch 语句的 while 循环

    我无法弄清楚如何跳出包含 switch 语句的循环 Break 从开关中中断 而不是从循环中中断 可能有一个更优雅的解决方案 我已经实现了一个标志 该标志一开始为 true 然后设置为 false 然后结束循环 您能提供更好的解决方案吗 背
  • Dash Plotly 日期时间选择

    Dash 世界中是否有任何东西可以提供一个很好的界面来输入日期时间 时间增量 无论什么类型 np pd dt 等 我目前只能找到真正支持日期的代码https dash plotly com dash core components date
  • 如何循环遍历动态表单输入并将其插入数组

    我有一个表单 要求用户在多个表单字段中输入数字 他们可以选择他们想要的表单字段数量 我已将表单字段标记为 df1 df2 df3 等 对于用户添加的每个额外表单字段 只需在 df 后面的数字上加 1 我的问题是尝试捕获 使用 PHP 这些字
  • 如何使用模拟匿名类型的设置?

    我有以下存储库 interface IReportingRepository where T Report IEnumerable
  • Heroku + node.js 错误(Web 进程未能在启动后 60 秒内绑定到 $PORT)

    我有我的第一个node js应用程序 在本地运行良好 但我无法通过heroku部署它 也是第一次使用heroku 代码如下 SO 不允许我编写这么多代码 所以我只想说在本地运行代码以及在我的网络中都没有问题 var http require
  • 如何使用 Jasmine 测试 AngularJS 控制器的 Promise 返回值?

    我有一个控制器 它公开一个函数 该函数在休息调用后返回一些文本 它工作得很好 但我在用 Jasmine 测试它时遇到了麻烦 测试中 Promise 处理程序内的代码永远不会执行 控制器 global Q use strict angular
  • 避免打印到控制台的字符串被截断(在 RStudio 中)

    我想将一个长字符串打印到 RStudio 控制台 这样它就不会被截断 gt paste 1 300 letters collapse 1 1 a 2 b 3 c 4 d 5 e 6 f 7 g 8 h 9 i 181 y 182 z 183
  • 如何在硒的新选项卡中滚动

    我通过单击 c 中的 selenium 中的某些内容打开了一个新选项卡 我想在更改到新选项卡后滚动 但出现超时错误 我收到超时消息并且没有滚动 这是 C 代码 二手 Chrome 79 Chrome 选项是 options AddArgum
  • 将因子转换为指示变量? [复制]

    这个问题在这里已经有答案了 如何将 R 中的一个因子转换为多个指标变量 每个级别一个 一种方法是使用model matrix model matrix Species iris Intercept Speciesversicolor Spe
  • 在 C# Winform 上使用显示对话框时出现非常奇怪的错误

    我在 VS Studio 2008 Express Edition 中创建了 2 个表单 并在主 program cs 文件中使用 public static 声明它们 我只想使用 ShowDialog 和 Close 在两个表单之间切换
  • 在 ColdFusion 中使用 cgi.PATH_INFO 在 URL 中使用 unicode 时出现问题

    我的 ColdFusion IIS 6 上的 MX7 站点具有搜索功能 可将搜索词附加到 URL 例如http www example com search cfm searchterm 我遇到的问题是这是一个多语言网站 因此搜索词可能是另
  • 打印语句在无限循环之前不会打印

    在尝试调试一些 C 代码时 我注意到如果将 printf 放在无限循环之前 则不会执行 有人知道为什么吗 实际上这没什么大不了的 但对于调试来说却是一场噩梦 include