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

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

怎么理解【a++ = a】和【a++ =a+1】

551521460001420305000223.jpg

551521470001264605000223.jpg求詳解 ?好暈


正在回答

4 回答

和本站同類型的國外網(wǎng)站。

www.codecademy.com/

55adf4f4000186c205000364.jpg課程導(dǎo)航

55adf4f400016caf05000408.jpg課程介紹

55adf4f40001841f05000272.jpg學(xué)習(xí)界面


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

首先要說:a++ = a 和 ++a = a + 1 并不是兩個(gè)合法的語句。這兩個(gè)式子是說 a++ 的值就是 a 的值,而 ++a 的值等于 a+1。 注意:我說的是++a和a++的值。

你要厘清“運(yùn)算符”、“表達(dá)式”和“語句” 的關(guān)系:

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

表達(dá)式后面加上一個(gè)分號(hào)就是一個(gè)“語句”。

最后,這兩個(gè)自增運(yùn)算符的副作用(使a增加1)什么時(shí)候發(fā)生的呢? 我只能說在“序列點(diǎn)”之后肯定都發(fā)生了。代碼中有的位置被稱為“序列點(diǎn)”,具體哪些位置是序列點(diǎn)有些復(fù)雜,簡單地說:“語句結(jié)束時(shí)”和“邏輯運(yùn)算符的兩個(gè)操作數(shù)之間”都算是序列點(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ā)生了。

以上是你需要弄明白的,那對(duì)于你截圖中的具體問題:

  1. ?第一部分 b++ >= a*2 是一個(gè)比較表達(dá)式,比的是b++和a*2的值。b++的是就是b當(dāng)時(shí)的值,也就是9,所以9大于等于10是假的。而這個(gè)表達(dá)式又是后面的“邏輯或”表達(dá)式的第一個(gè)操作數(shù),因?yàn)樗慕Y(jié)果是假,所以要繼續(xù)判斷第二個(gè)操作數(shù)(b-a<=a)的真假。記住邏輯運(yùn)算符算是序列點(diǎn),所以在判斷b-a<=a時(shí),b自增1的副作用已經(jīng)發(fā)生了,b的值就變成10了,那b-a就是5,5小于等于5,為真。所以整個(gè)邏輯或表達(dá)式的值就是1

  2. 第二個(gè)截圖中的題本身就有問題!! ?原因還是因?yàn)樾蛄悬c(diǎn),在a+b%a-b/a+a*b-a++這個(gè)大復(fù)合表達(dá)式中,a出現(xiàn)了很多次,就是說需要取a的值很多次,可是其中的一個(gè)子表達(dá)式a++是有副作用的,而這個(gè)a自增1的副作用在什么時(shí)候發(fā)生是并不確定的,我只知道在整個(gè)語句結(jié)束之后a的值肯定是4,但a也可能在取第一個(gè)a的值時(shí)就已經(jīng)是4了......也可能第一個(gè)a還是3,第二個(gè)a就是4了......也可能所有的a都是3......這一切都是有可能的。所以本題完全就錯(cuò)了!!


最后吐槽下:本站的C教程非常的“業(yè)余”,別再這里浪費(fèi)時(shí)間學(xué)C了...

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

qq_An_myriver_0

大神,你還有更好的?那你再介紹一個(gè)唄·····
2015-06-07 回復(fù) 有任何疑惑可以回復(fù)我~
#2

redRibbon

learntocode 里面有么?
2015-07-17 回復(fù) 有任何疑惑可以回復(fù)我~
#3

onemoo 回復(fù) redRibbon

learntocode是什么?
2015-07-17 回復(fù) 有任何疑惑可以回復(fù)我~
#4

redRibbon 回復(fù) onemoo

不小心回復(fù)到下面去了。
2015-07-21 回復(fù) 有任何疑惑可以回復(fù)我~
#5

我的學(xué)習(xí)之旅 提問者

大神,你還有更好的?那你再介紹一個(gè)唄·····
2015-08-04 回復(fù) 有任何疑惑可以回復(fù)我~
查看2條回復(fù)

你的這兩個(gè)表達(dá)式不合法!

在C語言中前置和后置自增運(yùn)算符返回的結(jié)果是右值,不能放在等號(hào)左側(cè)。

順便提一下:在C++中,前置自增的結(jié)果是左值,可以放在等號(hào)左側(cè)。

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

我的學(xué)習(xí)之旅 提問者

能舉個(gè)例子嗎 還是迷糊
2015-03-28 回復(fù) 有任何疑惑可以回復(fù)我~

http://idcbgp.cn/code/5136?你可以看看這節(jié)中的內(nèi)容,a++是先取值后運(yùn)算,++a是先運(yùn)算后賦值

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

我的學(xué)習(xí)之旅 提問者

親 我問的是 怎么理解【a++ = a】和【a++ =a+1】 好暈啊
2015-03-27 回復(fù) 有任何疑惑可以回復(fù)我~
#2

我的學(xué)習(xí)之旅 提問者

怎么區(qū)分
2015-03-27 回復(fù) 有任何疑惑可以回復(fù)我~

舉報(bào)

0/150
提交
取消

怎么理解【a++ = a】和【a++ =a+1】

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

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

幫助反饋 APP下載

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

公眾號(hào)

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