为什么C会在一段时间的循环中被卡住?
发布时间:2020-12-16 07:51:21 所属栏目:百科 来源:网络整理
导读:当我编译并运行这个代码(它是一个更大的程序的一部分)时,Linux将在while循环中途中断,然后停止工作. 下面的代码打印时间:0,然后挂起,在我暂停此过程之前不执行任何操作.为什么会打印时间:0但不是以下行的理智检查? while (i 5){ printf("time: %dn",elap
当我编译并运行这个代码(它是一个更大的程序的一部分)时,Linux将在while循环中途中断,然后停止工作.
下面的代码打印时间:0,然后挂起,在我暂停此过程之前不执行任何操作.为什么会打印时间:0但不是以下行的理智检查? while (i < 5) { printf("time: %dn",elapsedTime); printf("sanity check"); foo(); i++; } 解决方法
输出通常是缓冲的,只能在刷新或换行之后写入.在
printf("sanity check"); 没有换行符,所以如果你在这个循环后运行,你不会看到它. printf("sanity checkn"); 要么 printf("sanity check"); fflush(stdout); 你会看到它. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |