int x,y,z x=-1,y=-1,z=-1 求++x&&++y&&++z x,y,z的值是多少??[求助]
两道C语言的题,求教高手1.int x,y,z;
x=-1,y=-1,z=-1;
求表达式 ++x&&++y&&++z 运算后
x,y,z的值分别是多少?
2.int a,b,c;
a=1,b=1,c=1;
求表达式 ++a||++b&++c 运算后
a,b,c的值分别是多少?
答案我知道,但不明白是为什么,请高手给与详细的解答.
----------------解决方案--------------------------------------------------------
这也问?
运行下不就知道了?
----------------解决方案--------------------------------------------------------
翻下书,看看运算符号的级别高低..
----------------解决方案--------------------------------------------------------
1。x=0,y=-1,z=-1,表达式的值是0
因为表达式是算合取,其中只要有一个值是0,那么剩下的也不必算了,表达式最终结果必然是0了。
那么第2题你也明白了吧。
----------------解决方案--------------------------------------------------------
回复:(仙剑四)1。x=0,y=-1,z=-1,表达式的值是0因...
多谢你仙剑四,我是自学C语言的,你说的关键点我忽略了.所以这个问题困扰了我很久,如果你不提醒我,这个弯真的拐不过来啊.太谢谢了. ----------------解决方案--------------------------------------------------------
???
为什么y=-1,z=-1呢?
谁可以解释一下下啊!!
++不是自加运算符么? 为什么X自加而Y和Z不进行自加呢???
大侠来看看啊!
小弟感激不尽
----------------解决方案--------------------------------------------------------
回复:(小野猫)???为什么y=-1,z=-1呢?谁可以解...
运算符&&和||都是从左向右结合的.包含运算符&&或||的表达式在计算过程中如果已经知道结果为真或假就会停止进一步计算.因此,在使用运算符&&的表达式中,把最有可能为假的条件放在最左边.使用||时把最有可能为真的条件放在左边.第一题中++X已经等于0了,所以表达式值一定为0了,所以++Y,++Z就不会计算了.
----------------解决方案--------------------------------------------------------