课程
/后端开发
/C
/C语言入门
看你们的意思就是这个b++里面的b>=a*2之后++就没用了吗
2016-09-15
源自:C语言入门 3-8
正在回答
要注意自增自减运算符的运算规律。
b++就是先运算后自增,++b就是先自增后运算。
b++>=a*2的运算顺序是:
>=左边:第一步:b=9;自增后的结果是10。但是要用第一次输出的b的值去和右式比较。
>=右边;易得结果为10
9>10不成立,所以结果为0。
但是如果程序中要求输出b的值,那么b=10。
如果是++b-a*2,那么运算顺序是:
第一步:b=9,
第二步:b=10,
第三步:式子=0
不知道我这样举例你可有明白?
先计算中间部分,即a*2 && b-a,然后最后带值,比较大小。b++=b=9,a*2&&b-a为假,所以错误;a*2||b-a=10或1,当取1时符合条件,因此正确答案为b。同学还有什么疑问吗?
b++>=a*2计算过程是先判断b>=a*2,再执行b++即b=b+1,所以在这确实没什么意义
就是b在b++>=a*2这个式子运算中还是9,但是这个式子一运算完b的值就变成10了即b+1=10。所以在接下来的运算中b所被付的值就是10了
慕粉1454107902 提问者
举报
C语言入门视频教程,带你进入编程世界的必修课-C语言
4 回答!(a*2-b)什么意思啊? 不是(a*2-b)!=0吗?
2 回答++b-a*2 答案究竟是0还是2???
3 回答b++>= a*2 && b-a<+=a 看看我这个
3 回答a - b * c / d为什么是0
4 回答计算顺序为什么是1.a+b 2.b%(a+b)/a和a*b 3.a+b%(a+b)/a+a*b-b