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

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

bool a = ++x * x > 3;這行表達式有人能解釋一下,是絕對正確的么?

C++編譯器并沒有規(guī)定++運算符的求值順序,我覺得C#應該也是如此,所以 bool a = ++x * x > 3;這行表達式有人能解釋一下,是絕對正確的么?有沒有人查過標準。

正在回答

3 回答

http://img1.sycdn.imooc.com//594d331f000117e103850474.jpg因為上面的式子沒有括號,那就先運行一元運算符++x,即x+1,然后是 乘除的優(yōu)先級比較高,那就接著運行乘法*,即(x+1)*x ,然后 得到的值 與3相比較,判斷是否正確,把返回的bool值賦值給了bool a 。祝你學習順利!

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

慕無忌7395479 提問者

我是C++程序員,在這里還是要科普一下C++的知識,C++里面可千萬別這么想,C++標準沒有規(guī)定表達式必須從左到右求值。
2017-07-22 回復 有任何疑惑可以回復我~

阿斯頓撒打算大所多

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

首先C#教科書是規(guī)定了++運算符的,學一門學問還是以教科書為準,不要以自己的經(jīng)驗,況且還是一門軟件語言。其次,這個表達式?jīng)]有問題,如果賦值x=1,那么++x*x=4,顯然是先計算的++x,x自增1,因為是前置遞增,所以++x=2,計算后的變量x也等于2。那么a為TRUE.你自己可以在軟件中測試。

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

慕無忌7395479 提問者

我在軟件中測試過,確實是正確的,手上沒有關于標準的書,我本身對C++比較熟悉,在C++語言標準中有明確的說明,表達式的求值順序是不一定的,編譯器決定何時求值,但是我手上沒有C#的標準說明,不知道這個++表達式是何時求值的,后來查了百度,貌似C#語言規(guī)定了表達式的求值順序,必須是從左到右進行求值。關于C++的部分,你可以試試,發(fā)行版和調試版本的結果不一樣,優(yōu)化程度不用結果也不一樣!
2017-05-01 回復 有任何疑惑可以回復我~
#2

wzh2664219055

int x = 1 x++ *x 和 ++x *x 結果相同嗎?我是新手
2018-07-18 回復 有任何疑惑可以回復我~
#3

努力吧少年4369158 回復 wzh2664219055

不同。
2018-07-19 回復 有任何疑惑可以回復我~
#4

HUBanghao

受教了
2022-01-27 回復 有任何疑惑可以回復我~
查看1條回復

舉報

0/150
提交
取消

bool a = ++x * x > 3;這行表達式有人能解釋一下,是絕對正確的么?

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

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

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號