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;
}
相关推荐
2401_8318249638 分钟前
代码性能剖析工具
开发语言·c++·算法
weixin_426689201 小时前
vscode C语言编译环境搭建(单个文件)
c语言·ide·vscode
Sunshine for you1 小时前
C++中的职责链模式实战
开发语言·c++·算法
qq_416018722 小时前
C++中的状态模式
开发语言·c++·算法
2401_884563242 小时前
模板代码生成工具
开发语言·c++·算法
2401_831920742 小时前
C++代码国际化支持
开发语言·c++·算法
m0_672703312 小时前
上机练习第51天
数据结构·c++·算法
ArturiaZ2 小时前
【day60】
算法·深度优先·图论
2401_851272993 小时前
自定义内存检测工具
开发语言·c++·算法
☆5663 小时前
C++中的命令模式
开发语言·c++·算法