二级C语言 a=b=c=1 if(a++||++b) c++; 以上是如何运行的,如何判断的,哪个是成立条件?

如题所述

1、a=b=c=1
2、执行if(a++||++b),||的意思是或,就是括号里的任意一个条件满足的话都认定statement为true。当检查到a++时发现a!=0,所以这个statement为true,只执行到a++,无视后面++b,这时a=2,b=1。
3、因为if里的statement是true,所以执行下面的语句,c++,执行完后c=2,最后结果a=2, b=1, c=2。
我也是新手,如果有错误请指出……
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-06-07
|| 是或的意思,就是If语句里面如果是逻辑值为真值,则执行If语句下面的执行语句。本题中。a=1.判断a++,a被判断时值为1,判断后自加1,为2.不影响结果。所以If为真,执行c++。
第2个回答  2012-06-07
判断if条件,a++为2,为真,故后面的b不进行运算。括号里的结果即为1。最后结果为a=2.b=1,c=1
第3个回答  2012-06-07
如果只要a(1)++,或者++b(1)那c都是1,第二次才是c(2)
第4个回答  2012-06-07
告诉你们一个秘密其实a++是1但a是2,++a才是2,a也是2;
相似回答