简单的C++问题,帮下小弟。
来源:百度知道 编辑:UC知道 时间:2024/06/17 20:14:43
a=10; bool b=a++<5&&--a>6;
解释下a等于多少b等于多少,怎么算的。 谢谢。
解释下a等于多少b等于多少,怎么算的。 谢谢。
a=11,b=0
a++<5为false,&&后边的不计算。
a=11,b=0;a++为a+1所以为10+1=11
b是一个bool值因此值只能为0或者1
因为a++=11所以表达式a++<5为假即为0,--a>6虽然为真 但是因为前面的为假所以表达式a++<5&&--a>6 为假即=0
a = 11 , b = 0;
X && Y 两个同时为真的时候才为真,且X为假后面的就不计算了.和&不同,
X & Y 两边都要计算.
所以显然a++后a=11,又11<5是false,自然b=0。
按优先++ -- 先于 < > 先于 && 先于 =
a++ a=11
因为b=a++<5为假,即b=0;
&&后边的不计算( C尽可能是从左向右结合
所a=11 b=0
a++<5 为0
--a>6 为1
0&&1 为0