多组输入判断整数奇偶性

多组输入判断整数奇偶性,while (scanf("%d", &n)!=EOF)的一些理解

链接:判断整数奇偶性_牛客题霸_牛客网

题目:

描述

KiKi想知道一个整数的奇偶性,请帮他判断。从键盘任意输入一个整数(范围-231~231-1),编程判断它的奇偶性。

输入描述:

多组输入,每行输入包括一个整数。

输出描述:

针对每行输入,输出该数是奇数(Odd)还是偶数(Even)。

首先这道题不拿,判一个整数n是否为偶数或奇数,只需n%2是否为0,如果是n为偶数,否则n为负数

上代码!

然后这里重点想说一下while (scanf("%d", &n)!=EOF) 

EOF表示文件末尾

EOF其实就是-1,也就是说EOF被定义为-1,

使用scanf时我们在键盘输入时,其实输入的数据是放在缓冲区里,当用户按下回车时,之前输入的数据才会被存进去,然后scanf的返回值是成功接收到的对象的个数,比如scanf(“%d”,&a);如果输入10,那么scanf会接收到10这么一个对象,返回1。

有人就会注意到上面那个程序怎么结束呢?

 由于在终端(黑框)中手动输入时,系统并不知道什么时候到达了所谓的“文件末尾”

所以如果想要程序停止就要让scanf返回EOF, scanf在读取遇到错误或者读取结束也就是到文件末尾的是,返回EOF。

如果想要scanf返回EOF的话,按键盘的ctrl+z,但是vs上测试的时候,有时候不会出效果
测试有2个原因
1.缓冲区的问题
2.vs运行控制台程序的时候也会有问题

同样的代码在其它的编译器下测试是可以的

作者实属初学,写博客也是作者学习的一个过程,难免文章中有内容理解不到位或者有不当之处,还请朋友们不吝指正,评论留下各自的见解,相互讨论。希望大家多多给予支持。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值