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

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

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

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

正在回答

3 回答

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

1 回復(fù) 有任何疑惑可以回復(fù)我~
#1

慕無忌7395479 提問者

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

阿斯頓撒打算大所多

0 回復(fù) 有任何疑惑可以回復(fù)我~

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

3 回復(fù) 有任何疑惑可以回復(fù)我~
#1

慕無忌7395479 提問者

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

wzh2664219055

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

努力吧少年4369158 回復(fù) wzh2664219055

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

HUBanghao

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

舉報

0/150
提交
取消

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

我要回答 關(guān)注問題
微信客服

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

幫助反饋 APP下載

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

公眾號

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