为了账号安全,请及时绑定邮箱和手机立即绑定

如下内容中的while(a!=EOF) 条件的意义是什么?

如下内容中的while(a!=EOF) 条件的意义是什么?

C
慕虎7371278 2022-05-25 11:07:06
程序编写如下#include<stdio.h>main(){int a;a=getchar();while(a!=EOF){putchar(a);a=getchar();}用简单易懂的术语(非专业属于)解释下这 while(a!=EOF) 条件的意义是什么?
查看完整描述

3 回答

?
皈依舞

TA贡献1851条经验 获得超3个赞

EOF是为了判断你什么时候输完了以退出循环,按ctrl+Z的时候,进程会关闭标准输入,这时候getchar就会返回-1,也就是EOF,然后退出循环。当然,你并不一定要设置成EOF,你也可以设置成输入ESC后退出,ESC的键值是27,所以把while那行改成while(a!=27),这样你按ESC后,再按回车就退出了

查看完整回答
反对 回复 2022-05-30
?
天涯尽头无女友

TA贡献1831条经验 获得超9个赞

while是C语言的循环结构标识符,当while后括号内的条件成立(为真)时,会执行循环体,否则会退出循环。
!=为C语言中的条件运算符之一,读作不等于。其形式为
a!=b
计算规则为:
1 当a与b相等时,该表达式结果为假,即0;
2 当a与b不相等时,该表达式结果为真,即1。
EOF为End Of File的简写,这是一个宏定义,代表文件结束符,其值为-1。
于是这段代码的含义为,执行循环,直到a值为EOF时退出。

查看完整回答
反对 回复 2022-05-30
?
智慧大石

TA贡献1946条经验 获得超3个赞

EOF是end of file的缩写
就是直到文件末尾
你要是用键盘输入的话是Ctrl+Z 然后再回车 就跳出循环了

查看完整回答
反对 回复 2022-05-30
  • 3 回答
  • 0 关注
  • 136 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信