黑马程序员技术交流社区

标题: 说一个简单的问题 [打印本页]

作者: 王起    时间: 2013-3-16 21:28
标题: 说一个简单的问题
本帖最后由 王起 于 2013-3-16 22:00 编辑

下面说的这个东西很简单,但是不容忽视,我相信还有人不知道,所以分享给大家!
就是&与&&的区别:
&&是逻辑与
真&&真 = 真
真&&假 = 假
假&&真 = 假
假&&假 = 假
C语言中,非0表示真,0表示假
比如
int a = 4&&3;
4和3都是非0,所以都是真,所以&&操作结果就是真,所以a != 1


&是按位与。
1&1 = 1
1&0 = 0
0&1 = 0
0&0 = 0
比如
int a = 4&3
4的二进制是100
3的二进制是011
位与之后     000
所以a = 0;
作者: 何红卫    时间: 2013-3-16 21:42
稍微纠正一下第一个,结果为真,不代表a=1,只能说a!=0,切记切记!!!
作者: 王起    时间: 2013-3-16 22:00
谢谢提醒,觉得这个问题很不错,所以给大家分享一下!
作者: 王起    时间: 2013-3-16 22:00
何红卫 发表于 2013-3-16 21:42
稍微纠正一下第一个,结果为真,不代表a=1,只能说a!=0,切记切记!!!

谢谢提醒,觉得这个问题很不错,所以给大家分享一下!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2