c语言 逻辑符号问题

求大神,,,自学着呢,,遇到难处了,求详解,,,,,

先理解++a和a++
++a,是a=a+1;
a++,是参与计算后,a=a+1;
可以简单理解成:一个是在参与表达式计算之前自加1,一个是在参与计算后自加1

这里除了a++,和++a的区别外,还有一个知识点,就是逻辑运算符的运算的规则
x&&y
如果x假,则y不再计算
x||y
如果x真,则y不再计算

看第一个:++a&&++b||c++;(a=b=c=0)
等价于:(++a&&++b)||c++
先执行++a,为真,执行++b,为真,c++不执行
所以输出的结果是1,1,0

看第二个:a++&&++b||++c;
等价于(a++&&++b)||++c
先执行a++,为假,++b不执行,执行++c
所以输出结果是1,0,1
其余的类似
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-07-25
挺好。
逻辑运算符就&&和||
他们有个特性,
&&只要有一个为假,他就为假。
||只要有个为真,他就为真。
就如你的第一语句
++a&&++b||c++
先++a为1与上(++b为1)所以结果为1
1||C++
||特性是只要有一个为真就为真。所以,左边为真了,就为真了,就往下执行,C++并没有
工作。
其它类推
第2个回答  2013-07-25
哦 你想问 ++a 和 a++的区别?
把所有 ++a看成是先a=a+1 在做该运算
所有的a++看成先做该运算 然后a=a+1

例如 ++a&&++b||c++

你可以认为

a=a+1;
b=b+1
a&&b||c
c=c+1
第3个回答  2013-07-25
把++a&&++b||++c改成:
(++a)&&(++b)||(++c)

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网