C语言while(scanf(“%d“,&ch) != EOF 多组输入字母大小写转换

这篇博客探讨了在C语言中如何实现无限循环读取用户输入,直到遇到文件结束符EOF。介绍了两种方法,一种是利用`scanf`函数配合EOF标志,另一种是使用`getchar`函数结合回车键终止。内容详细解释了EOF的含义和ASCII表的范围,以及在使用`getchar`时需要注意的细节。
摘要由CSDN通过智能技术生成

前言

当我们使用C语言解决有关计算问题时,一般都需要用scanf函数输入数据然后再进行计算。

但每次计算机算出答案并输出屏幕后这段代码就结束了,如何才能让计算机算出结果后能够继续输入数据再一次计算而不结束运行。


实现

刚开始想到多组输入,第一反应就是循环,但是怎么写呢,写了个"标准"的for循环发现只能循环有限次。

int i;
char ch;
for (i = 0;i < 10;i++)
{
    scanf("%c",&ch)
}

方法一

经过查阅,发现有居然这么一句话,可以让他一直循环除非遇到什么情况才停止下来:

char ch;
while((scanf("%d",&ch)) != EOF)

这句话的意思是scanf开始读取字符,直到读取到结束符EOF(end of file),退出循环。

那EOF是什么,其实就是文件结束标志,在C语言中定义(#define EOF -1)EOF的值为-1;

而ascii表范围是0 ~ 127,也就是说只要不输入ctrl z条件为假循环就不会停止。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

dewn_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值