布尔表达式的验证
2015-06-20 23:47
246 查看
由于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了。 到这里。这个程序说的差不多了,我就不罗嗦了。
相关文章推荐
- 2015062009 - 端午祭
- jQuery序列化Ajax提交表单
- OpenStack入门到实战视频教程全集下载(罗勇老师经典教程系列)
- SSH整合
- 卷积神经网络CNN
- E. Vanya and Brackets(Codeforces Round #308 (Div. 2))
- linux下文件的简单操作(创建、查看、链接、打包压缩、查找)
- 2015062008 - 后退一步
- 凸值域定理
- 黑马程序员——着急惹的祸
- 6.20 androidstudio中使用TestCase
- 【学习笔记】【C语言】char类型
- 个人感悟
- 订单系统:用myeclipse搭建开发环境
- 2015062007 - 床畔(3)
- [数据结构]埃及分数(暴力,解答树,迭代加深搜索)
- D. Vanya and Triangles(Codeforces Round #308 (Div. 2))
- linux常用命令
- C#垃圾回收和托管堆及堆栈
- struts2 总结