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

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

int a = 3; b = 4;計(jì)算a+b%a-b/a+a*b-a++該算式的運(yùn)算結(jié)果以及運(yùn)算后a的值如果題目改成int a = 3; b = 4;計(jì)算a+b%a-b/a+a*b-(++a)答案是多少啊?

int a = 3; b = 4;計(jì)算a+b%a-b/a+a*b-a++該算式的運(yùn)算結(jié)果以及運(yùn)算后a的值如果題目改成int a = 3; b = 4;計(jì)算a+b%a-b/a+a*b-(++a)答案是多少?。?/p>

正在回答

2 回答

沒(méi)有答案, a+b%a-b/a+a*b-a++ 這個(gè)式子本身就是錯(cuò)的。

你先要明白前置自增運(yùn)算符和后置自增運(yùn)算符是怎么回事:

通常說(shuō),a++是先取值后運(yùn)算,++a是先運(yùn)算后取值。實(shí)際上這里涉及“運(yùn)算符”、“表達(dá)式”和“語(yǔ)句”的概念。

++ 是一個(gè)“自增運(yùn)算符”,自增運(yùn)算符有兩種形式:前綴自增(++a)和后綴自增(a++)。

運(yùn)算符和操作數(shù)合起來(lái)就是一個(gè)表達(dá)式(a++、++a都是表達(dá)式,a就是操作數(shù))。注意:每一個(gè)表達(dá)式本身都有值(和其類型),有的表達(dá)式還有“副作用”。比如自增表達(dá)式的副作用就是使其操作數(shù)自增1。那么自增運(yùn)算表達(dá)式的值是什么呢? a++ 的值就是 a 的值,而 ++a 的值等于 a+1。?

表達(dá)式后面加上一個(gè)分號(hào)才是一個(gè)完整的“語(yǔ)句”。

還有一個(gè)關(guān)鍵內(nèi)容:前面說(shuō)使操作數(shù)自增1是自增表達(dá)式的副作用,那么這個(gè)副作用什么時(shí)候發(fā)生呢? 準(zhǔn)確地說(shuō)是在“序列點(diǎn)”后保證會(huì)發(fā)生。 序列點(diǎn)這個(gè)概念比較復(fù)雜,簡(jiǎn)單地說(shuō):“語(yǔ)句結(jié)束時(shí)”是一個(gè)序列點(diǎn)。這序列點(diǎn)之前的運(yùn)算符的副作用,在執(zhí)行到這點(diǎn)以后都保證會(huì)發(fā)生。注意并不是在這一點(diǎn)之后就突然發(fā)生的,這些副作用可能在序列點(diǎn)前的任何一個(gè)位置發(fā)生,C標(biāo)準(zhǔn)只是規(guī)定在序列點(diǎn)之后這些副作用必須都已經(jīng)發(fā)生了。

在a+b%a-b/a+a*b-a++這個(gè)大復(fù)合表達(dá)式中,最后有一個(gè)a++,這個(gè)子表達(dá)式的值是3沒(méi)有錯(cuò)(因?yàn)槭窍惹笾翟僮栽觯?,但在整個(gè)表達(dá)式中a還出現(xiàn)了很多次,就是說(shuō)需要取a的值很多次,可是最后這個(gè)子表達(dá)式a++的副作用在什么時(shí)候發(fā)生是并不確定的。我只知道在整個(gè)語(yǔ)句結(jié)束之后a的值肯定是4,但a也可能在取第一個(gè)a的值時(shí)就已經(jīng)是4了......也可能第一個(gè)a還是3,第二個(gè)a就是4了......也可能所有的a都是3......這一切都是有可能的。所以也許這段代碼在我這里編譯出的結(jié)果就和你的不一樣。


對(duì)于寫復(fù)合表達(dá)式,一般建議:如果表達(dá)式改變了一個(gè)操作數(shù)的值,那就不要在這個(gè)復(fù)合表達(dá)式中再次使用這個(gè)操作數(shù)。除非你能確定“改變值”和“使用值”的先后順序。?在這個(gè)例子中,顯然你不能確定順序。

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

夢(mèng)穎千年 提問(wèn)者

這個(gè)前面一個(gè)是慕課網(wǎng)出的題目啊,是前面一個(gè)沒(méi)答案還是后面一個(gè)沒(méi)答案啊
2015-07-24 回復(fù) 有任何疑惑可以回復(fù)我~
#2

夢(mèng)穎千年 提問(wèn)者

#include <stdio.h> int main() { int a = 3; int b = 4; printf( "y=%d\n",a+b%a-b/a+a*b- a ++); printf( "a=%d\n",a); return 0; } //我這么寫代碼對(duì)嗎
2015-07-24 回復(fù) 有任何疑惑可以回復(fù)我~
#3

夢(mèng)穎千年 提問(wèn)者

非常感謝!
2015-07-25 回復(fù) 有任何疑惑可以回復(fù)我~
#4

onemoo 回復(fù) 夢(mèng)穎千年 提問(wèn)者

解釋中的意思是:兩個(gè)都沒(méi)有答案。 可能你沒(méi)有看懂解釋。
2015-07-26 回復(fù) 有任何疑惑可以回復(fù)我~
#5

王彧喧

你的意思是a++或++a使得a值變化的時(shí)間點(diǎn)不確定(這又是由于式子中出現(xiàn)了多個(gè)a),所以答案不確定對(duì)吧。這是標(biāo)準(zhǔn)中沒(méi)有明確規(guī)定的,可能在TC,VC,C4droid等不同編譯器上不同結(jié)果等情況。
2015-08-25 回復(fù) 有任何疑惑可以回復(fù)我~
#6

onemoo 回復(fù) 王彧喧

是的,因?yàn)镃并沒(méi)有規(guī)定操作數(shù)的求值順序,加上序列點(diǎn)導(dǎo)致的不確定性,整個(gè)表達(dá)式的行為就是未定義的了。
2015-08-25 回復(fù) 有任何疑惑可以回復(fù)我~
查看3條回復(fù)

#include <stdio.h>

int main()

{

? ? int a = 3;

? ? int b = 4;

? ? printf( "y=%d\n",a+b%a-b/a+a*b- a ++);

? ? printf( "a=%d\n",a);

? ? return 0;

}

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

onemoo

a+b%a-b/a+a*b- a ++ 寫這樣的表達(dá)式本身就不對(duì)
2015-07-26 回復(fù) 有任何疑惑可以回復(fù)我~
#2

夢(mèng)穎千年 提問(wèn)者 回復(fù) onemoo

錯(cuò)了嗎?這個(gè)應(yīng)該怎么寫的啊
2015-07-27 回復(fù) 有任何疑惑可以回復(fù)我~
#3

onemoo 回復(fù) 夢(mèng)穎千年 提問(wèn)者

請(qǐng)?jiān)倏匆槐槲仪懊娴慕獯稹?如果看不懂,請(qǐng)明確指出是哪里不明白。
2015-07-29 回復(fù) 有任何疑惑可以回復(fù)我~
#4

小玖so 回復(fù) onemoo

大神,指教一下,我看到這個(gè)問(wèn)題明白你的意思,但是這個(gè)題目中的表達(dá)式就是這樣寫的,我把這個(gè)表達(dá)式放進(jìn)去也能運(yùn)行,能正確的出來(lái)值,這是為什么?
2015-08-04 回復(fù) 有任何疑惑可以回復(fù)我~
#5

onemoo 回復(fù) 小玖so

你看,我說(shuō)這樣寫是錯(cuò)的,沒(méi)有說(shuō)這樣寫不合法。這個(gè)代碼是可以編譯通過(guò)的,也能運(yùn)行,但有結(jié)果并不能說(shuō)明這是“正確的”,而且這個(gè)結(jié)果也不能說(shuō)是“正確”的值。 正如我前面解答中所說(shuō)“...但a也可能在取第一個(gè)a的值時(shí)就已經(jīng)是4了......也可能第一個(gè)a還是3,第二個(gè)a就是4了......也可能所有的a都是3......這一切都是有可能的...”,這種不確定性就是C標(biāo)準(zhǔn)中的“未定義”行為,你無(wú)法保證這個(gè)代碼在所有的平臺(tái)上都得出同樣的結(jié)果,這種連結(jié)果都不確定的代碼能說(shuō)是正確的嗎?
2015-08-04 回復(fù) 有任何疑惑可以回復(fù)我~
#6

小玖so 回復(fù) onemoo

明白了,謝謝!
2015-08-05 回復(fù) 有任何疑惑可以回復(fù)我~
查看3條回復(fù)

舉報(bào)

0/150
提交
取消

int a = 3; b = 4;計(jì)算a+b%a-b/a+a*b-a++該算式的運(yùn)算結(jié)果以及運(yùn)算后a的值如果題目改成int a = 3; b = 4;計(jì)算a+b%a-b/a+a*b-(++a)答案是多少???

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

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

幫助反饋 APP下載

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

公眾號(hào)

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