两种方式设置while无限循环条件

1.设置变量循环条件

#include 

int main(){
	char a;
	int b;
	while(scanf("%c %d",&a,&b),a!='c'&&b!=1){ //利用&&使输入的数必须同时满足变量a不等于字符c和变量b不等于1两个条件循环才可以进行 
		printf("a=%c b=%d\n",a,b);
		fflush(stdin); //清空缓存区,确保每次输出的都是当次输入的数 
	}
	return 0;
}

两种方式设置while无限循环条件_第1张图片
两种方式设置while无限循环条件_第2张图片
如图奇数行为输入,偶数行为输出,当输入不满足循环条件的数时循环结束

2.利用EOF设置循环条件

2.1首先了解EOF

EOF即End of file,是文件结束符

2.2了解ctrl+Z的作用

在windos环境下终端输入ctrl+z可实现结束文件功能
所以当我们输入ctrl+z进入缓存区后,scanf读取到它便会结束文件,返回EOF,于是循环结束
需要注意在Linux环境下实现结束文件功能的是ctrl+D

2.3了解缓存区的概念

参考这篇文章通俗易懂讲解scanf读取规则与缓冲区之间的关系

2.4实例

#include 

int main(){
	char a;
	int b;
	while(scanf("%c %d",&a,&b)!=EOF){ 
		printf("a=%c b=%d\n",a,b);
		fflush(stdin);
	}
	return 0;
}

两种方式设置while无限循环条件_第3张图片
最下面一行的^Z是我们输入的ctrl+Z
当我们输入Ctrl+z后,一旦scanf在缓存区读到它循环就会终止

综合

实现既可以利用变量又可以利用Eof来结束循环

#include 

int main(){
	char a;
	int b;
	while(scanf("%c %d",&a,&b)!=EOF&&a!='c'&&b!=1){
		printf("a=%c b=%d\n",a,b);
		fflush(stdin);
	}
	return 0;
}

两种方式设置while无限循环条件_第4张图片
两种方式设置while无限循环条件_第5张图片
两种方式设置while无限循环条件_第6张图片
如上图,只要输入的数不满足循环条件中的任意一个,循环就会结束

你可能感兴趣的:(C语言,c语言)