布尔表达式的验证

时间:2023-01-09 16:20:46
    由于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了。

到这里。这个程序说的差不多了,我就不罗嗦了。