关于数据输入的问题

这里主要谈一下多组数据输入的问题
关于杭电OJ上的题目大多都是要求多组数据输入
多组数据输入的方式很灵活
1.while(scanf(“%d”,&a)!=EOF)
EOF是end of file的缩写,读入数据存在文件中,然后一组组的读出,直到读到文件末尾
EOF除了表示文件结尾,EOF还可以表示标准输入的结尾。
!=EOF” 表示文件还没有结束“=EOF” 表示到文件末尾了
这些我刚开始也没看懂
我的理解是EOF为一个常量其中!=EOF等价于!=-1 (EOF在定义在stdio.h中EOF为常量其值为-1)
scanf读取正确的数值,返回整数,比如scanf(“%d%d”,&x, &y),scanf返回2;scanf(“%d”,&x)返回1
也就是说,只要有数据输入,其值为正数,便满足!=-1,所以while中的逻辑值为真,执行大括号中的文件。
2.while(~scanf(“%d”,&a))
这也可以表示多组数据,其实~我也讲过的,有取反的意思,也可以表示析构函数。
它的效果与while(scanf(“%d”,&a)!=EOF)一样

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值