第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定

小白求解各種運算的先后順序

比如; int a = 3; b = 4;計算a+b%a-b/a+a*b-a++該算式的運算結果以及運算后a的值

正在回答

3 回答

前面你說的“但假如是認為a++是先取值而后運算,而a本身并未受到這個運算的影響的話”——你可以這么理解,但你后半句“可以得出“c語言入門”3-4的答案是12”——正相反,恰恰無法得出這個結論。

a++表達式的值就是a當時的值,在當時a的值可以說是不受這個運算的影響的。但a的值最終還是要自增的,只不過這個自增是什么時候發(fā)生的是不確定的,那么整個表達式中前面那幾個a的值該取多少呢?不確定! 你無法確定前面那幾個a是不是已經自增過了,這是因為C標準沒有規(guī)定操作數(shù)的求值順序。表達式是有優(yōu)先級的,但是優(yōu)先運算的表達式的操作數(shù)不一定是優(yōu)先求值,反之亦然。加之a自增的時點本來就不確定,所以無法確定這些a到底該是什么值,那整個表達式的值也就是不確定的了。

如我在那個帖子中最后的那個建議所說:如果有表達式改變了一個操作數(shù)的值,那就不要在這個復合表達式中再次使用這個操作數(shù)。除非你能確定“改變值”和“使用值”的先后順序。

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

擁抱藍天 提問者

非常感謝!
2015-08-26 回復 有任何疑惑可以回復我~

首先說:這題目出錯了!

這道題與運算符優(yōu)先級無關,這個表達式的值是不確定的。

根據(jù)優(yōu)先級,最后的a++先算,a++的值為4,但是a本身的值是什么時候自增的?這是不確定的。所以式子中前面那些a的值也是不確定的。


對上面的解答有疑惑,請看這里?http://idcbgp.cn/qadetail/64864?我的回答,我懶得復制過來了...

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

擁抱藍天 提問者

謝謝,,初學者不是太明白。但假如是認為a++是先取值而后運算,而a本身并未受到這個運算的影響的話,可以得出“c語言入門”3-4的答案是12。不知如此,可有不妥?
2015-08-25 回復 有任何疑惑可以回復我~
#2

onemoo 回復 擁抱藍天 提問者

不正確。 請看我上面提到的那個帖子中的回答。
2015-08-25 回復 有任何疑惑可以回復我~
#3

擁抱藍天 提問者 回復 onemoo

嗯哼。。不太懂
2015-08-26 回復 有任何疑惑可以回復我~
#4

擁抱藍天 提問者 回復 onemoo

意思是a 到底是a++后的a ?還是a++之前的a? 這個是不確定的,所以這條式子是有問題的???
2015-08-26 回復 有任何疑惑可以回復我~
#5

onemoo 回復 擁抱藍天 提問者

差不多是這個意思
2015-08-26 回復 有任何疑惑可以回復我~
查看2條回復

從左到右,先乘除取模,后加減? 這一題結果是12? a運算后為4(運算時為3)

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

舉報

0/150
提交
取消

小白求解各種運算的先后順序

我要回答 關注問題
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號