C语言中关于EOF(while中持续输入输出)

 (初学C语言的萌新,有问题希望大佬不吝赐教!)

EOF是End Of File的缩写,一般是文件结束的标志,代表的实际值是-1。

在与while和scanf配合使用时,用于判断是否读取到了文件结束符,即ctrl Z,如果没有,将继续循环。例如:

int main()
{
	int ch = 0;
	while ((ch = getchar()) != EOF)
	{
		putchar(ch);
	}
	return 0;
}

当输入不为“EOF"时,循环不停。

当获取的字符为ctrl Z 的时候(^z)循环停止。

(注意:如果仅仅是输入EOF循环将继续,因为EOF被读取的方式是单个字符被读入)

当while循环中加入元素后while(scanf("%d",&n) != EOF

while所负责的代码块将被循环输入并执行,例如一道小题:

比较两个数的大小:

#include<stdio.h>
int main()
{
    int d1,d2;
    char ch;
    while(scanf("%d %d",&d1,&d2)!=EOF)
    {
        if(d1>d2)
            ch='>';
        else if(d1<d2)
               ch='<';
        else
            ch='='; 
        printf("%d%c%d\n",d1,ch,d2);    
    }
    return 0;
}

注意此时while循环条件格式是Int而不是getchar,对于要结束循环需要输入三次ctrl Z。(不同的编译器有不同的方式,我的是VS2022)

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值