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;
}
相关推荐
Navigator_Z1 小时前
LeetCode //C - 1317. Convert Integer to the Sum of Two No-Zero Integers
c语言·算法·leetcode
D e re k ZH2 小时前
C++ 标准库算法全景指南
数据结构·c++·算法
冻柠檬飞冰走茶2 小时前
字母移动游戏题解:贪心求最长可保留连续子串(附 C 实现)
c语言·开发语言·数据结构·算法·动态规划
雪落漂泊3 小时前
C++算法 二分查找篇(上)
开发语言·c++·算法
LabVIEW开发4 小时前
LabVIEW 连接板:28 个端子怎么排,优先级怎么定
java·算法·labview
严肃小白兔6 小时前
MATLAB 数值计算中的精度与误差问题:浮点运算、误差传播与数值稳定性
人工智能·算法·matlab
Hhy_11076 小时前
《C++深度解构06》手撕 string —— 从底层内存管理到深浅拷贝彻底吃透
c语言·开发语言·c++·学习·visual studio
青少儿编程课堂7 小时前
蓝桥杯青少组图形化省考报名倒计时·全国青少年信息素养大赛·电子学会图形化考级:校园黑白棋人机对战解析
c++·python·算法·bfs·信息学竞赛
jktantan8 小时前
注解式脱敏:用 Jackson 的 ContextualSerializer 做字段级策略(一)
spring boot·后端·算法·spring cloud·系统架构