为了账号安全,请及时绑定邮箱和手机立即绑定

<span>请教:int a = 3, printf ("%d\n", a++>=4),输出0。如果运算顺序中 "++" 优先于 ">=",即使a++是先取值后运算,也应该运算完了再比较吧?那不应该输出1吗?</span><br>

请教:int a = 3, printf ("%d\n", a++>=4),输出0。如果运算顺序中 "++" 优先于 ">=",即使a++是先取值后运算,也应该运算完了再比较吧?那不应该输出1吗?

正在回答

3 回答

a++>=4表示的是a++的值和4比较,a++值为3,3>=4结果为0

0 回复 有任何疑惑可以回复我~

a++的值 和 a的值 是两回事哦

请看这里的解答: http://www.imooc.com/qadetail/83948

0 回复 有任何疑惑可以回复我~

a++是3,如果你再打印a的值就是4了

0 回复 有任何疑惑可以回复我~
#1

shlk 提问者

也就是说在当前状态下,无论是什么运算过程均保持3不变,只有在下一个语句中才会为4?
2015-10-22 回复 有任何疑惑可以回复我~
#2

心悦君夕 回复 shlk 提问者

可以这样理解,你要理解什么叫先赋值后运算这个意思
2015-10-23 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

<span>请教:int a = 3, printf ("%d\n", a++>=4),输出0。如果运算顺序中 "++" 优先于 ">=",即使a++是先取值后运算,也应该运算完了再比较吧?那不应该输出1吗?</span><br>

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信