关于C语言的问题,我框起来的里面那段文字,为什么!a的值为0,还有1&&2的值为1,这两个问题表示

关于C语言的问题,我框起来的里面那段文字,为什么!a的值为0,还有1&&2的值为1,这两个问题表示搞不懂还有这个运算的顺序是重右到左吗?求大神来个通俗易懂的说法。

第1个回答  2013-10-09
!是非的意思,非(非0)就是1,这个0和1是相对的运算结果表示形式,比如false or true ,不是自然数1,比如!a中的a就是个非0 的自然数,也就是true 那么非(true)就是 false 也就是 0 。
所谓的1&&2的1是运算结果true && 2 ,2是非0的自然数 也就是 true,那么true && true 就是true 1.
第2个回答  2013-10-09
你可以这样理解 把单独的数字 如 1、2、3.......看成是true(真) !1(非1既非真)就是false(假)
1&&2 就是 true&&true 所以就为true 在计算机中true也可以用1表示 false可以用0表示 所以1&&2----->1

运算符是有优先级(先后循序)的 判断符号:就是大于 小于这些符号优先级高于逻辑运算符与(&&)、或(||)、非(!)高于=
在&&、||、!中 优先级&&>||追问

谢谢

本回答被提问者采纳
第3个回答  2013-10-09
我们也在学
相似回答