C语言不确定循环会影响输入输出缓冲区的刷新

如下代码,在打印出"测试文本"之前会卡顿一小段时间,主要原因是下方循环的不确定性,编译器不知道下方的循环什么时候结束,把scanf()删掉同时循环体换一行任意的一行代码,一样会有卡顿。

如果循环结束条件是确定的,编译器一眼可以看出来的,那么就不会有卡顿。

编译环境DevC++5.11自带的TDM-GCC 4.9.2 64-bit Release

cpp 复制代码
#include<stdio.h>

int main(){
	int c=0,s=0;
    printf("测试文本\n");
    
	while(1){
		scanf("%d", &c);
		if(c==1) break; 
	}
	printf("所有正奇数的和为:%d\n", s);
    return 0;
}
相关推荐
Yuroo zhou2 小时前
采矿定向技术演进:MEMS定向短节的崛起
算法·硬件架构·硬件工程·石油·钻井
EriccoShaanxi2 小时前
穿越高温地层:加速度计如何成为石油钻井的核心感官
大数据·算法
Tisfy2 小时前
LeetCode 3531.统计被覆盖的建筑:最大最小值
算法·leetcode·题解·桶排序
京东零售技术2 小时前
SIGIR 2025 | 基于图同构网络的群体建模在点击率预测中的应用
算法
程序员西西2 小时前
深入剖析 Java 中的 ZGC 机制:原理、优势与实践
java·后端·算法
月明长歌2 小时前
【码道初阶】Leetcode.189 轮转数组:不熟悉ArrayList时踩得坑,被Arraylist初始化骗了?
java·算法·leetcode·职场和发展
卡尔AI工坊2 小时前
万众瞩目的 GPT 5.2,连个火柴人游戏都做不明白?
后端·算法
fantasy_arch2 小时前
leetcode算法-最大乘积子数组
算法·leetcode·职场和发展
清轩轩3 小时前
UDS时间参数学习(应用层+网络层+会话层+传输层)
c语言·can·信息与通信·诊断·uds