布尔表达式的验证

    由于Fire是新手,又真心想学好一些语言,所以Fire今后每每学到一点知识就会记录在这里,和大家分享,同时希望各种大牛对我进行指点和帮助,谢谢各位。
    今天Fire在学习c语言的时候碰到了一个问题,写了好长时间也没有解决,最后查了哈,结果是布尔表达式,第一次听说,原谅Fire是小白。。。那下来Fire就简绍一下布尔表达式的验证:   
  • 题目是

        验证布尔表达式`getchar()!=EOF`的值是零还是1!
    

    编写代码如下:

#include<stdio.h>

int main()
{
    int c;
    while(c=getchar!=EOF)
        printf("%d\n,c);
    printf("%d - at EOF\n",c);
}
    写到这里,其实也就写完了,首先,我先简绍一下getchar()这个函数,这个函数每次接收一个字符,但是函数也有返回值,当有字符输入时getchar()函数返回1,当没有函数输入时getchar()函数返回0;那么对于c=getchar()!=EOF这条语句,首先执行的是getchar()!=EOF;因为“!=”的优先级比“=”高,意思是getchar()的返回值如果和EOF不相等则为真,返回1;否则相反,返回0。
    接下来,我们就执行这个代码,当我们输入1时,它会打印出两个1,这是为什么呢?因为我们第一次输入的一个1,getchar函数接收到有字符输入,然后返回1,打印出来,这我们很好理解,但是为什么还有一个1呢,大意的我们总是漏掉了回车,不要忘记,回车也是字符。所以这里就打印出来了两个1;当我们继续输入时,只要你输入的不是文件结束标志EOF那么就会一直循环;当我们输入文件结束标志时,他就会退出来打印出printf("%d - at EOF\n",c);这条语句的信息;
    那么我们怎么输入文件结束标志呢?在Linux系统下,利用快捷键`ctrl+d`;在windows下用`ctrl+z`,就可以输入文件结束标志EOF了。     

    到这里。这个程序说的差不多了,我就不罗嗦了。
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值