c语言逻辑运算 int x,y,z; x=y=z=0;++x||++y||++z;为什么结果等于 x=1 y=0 z=0?

如题所述

第1个回答  2010-01-10
||运算符只要第一项为真之后的几项都不会计算,所以++y,++z都没有执行本回答被提问者和网友采纳
第2个回答  2010-01-10
3 个都是或运算
第一步xyz都等于0
或运算只要算第一个是0还是1
如果是1的话就不需要往后算了,后面的就等于原值,所以++x==1 所以后面的y++和z++电脑都不会执行。
第3个回答  2010-01-10
或运算只要第一个条件满足(结果为1),就不会再验证||后面的条件了,和数学里的或是一样的,只要表达式中有一个为1,结果就是正确的,系统不会再进行后面的计算了。
第4个回答  2010-01-10
++x||++y||++z,比较到++x的时候全式已经为真,之后的条件编译器不会去检测的,所以++y++z都不会执行

相关了解……

你可能感兴趣的内容

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