如下代码,在打印出"测试文本"之前会卡顿一小段时间,主要原因是下方循环的不确定性,编译器不知道下方的循环什么时候结束,把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;
}