色yeye在线视频观看_亚洲人亚洲精品成人网站_一级毛片免费播放_91精品一区二区中文字幕_一区二区三区日本视频_成人性生交大免费看

當(dāng)前位置:首頁(yè) > 嵌入式培訓(xùn) > 嵌入式學(xué)習(xí) > 講師博文 > 關(guān)于i++的問題討論

關(guān)于i++的問題討論 時(shí)間:2018-09-29      來源:未知

這幾天在講c語(yǔ)言時(shí),有學(xué)生問我 “(i++)+(++i)+(i++)”之類的問題,令我一時(shí)語(yǔ)塞,研究了半天。今天我要告訴你們,這樣的語(yǔ)句是罪惡的。你們也許要說,這明明是考試重點(diǎn)呀。別急,下面我們分成三個(gè)部分來組織:在第一部分中,解釋為什么它有罪;第二部分,為了解救你們,我們找出解題規(guī)律;在第三部分中,給出幾個(gè)更變態(tài)的題目,今后誰(shuí)出這種題給你,你就用我這里的題目去問他。

一. 這種語(yǔ)句的合法性

C語(yǔ)言的創(chuàng)始人D.M.R在《CPL》中明確指出:

自增與自減運(yùn)算符只能作用于變量,類似于表達(dá)式(i+j)++是非法的。

自增運(yùn)算實(shí)際上包括了一個(gè)賦值運(yùn)算,而表達(dá)式不能作賦值運(yùn)算的左值,因?yàn)樗鼪]有確定的內(nèi)存地址。只要你明白 (i+j)=5 是非法的,那就不難理解為什么(i+j)++非法。以此為依據(jù),(i++)+(i++)這個(gè)語(yǔ)句中的后一項(xiàng),是非法的。盡管看起來它只是一個(gè)i++,但別忘了,在前一個(gè)i++的作用下,后面的“i”本身就已經(jīng)是表達(dá)式了,表達(dá)式不能再做++。一般地,在一個(gè)語(yǔ)句中,對(duì)同一個(gè)變量調(diào)用多次自增或自減運(yùn)算,都是非法的。D.M.R還提醒,編譯器應(yīng)在這種情況下給出警告。事實(shí)上,gcc確實(shí)會(huì)對(duì)此給出一個(gè):Warning: operation on ‘i’ may be undefined

這已經(jīng)夠清楚了,無需多言。請(qǐng)編寫教學(xué)大綱者注意,多年以來,你們一直在用非法語(yǔ)句作考試重點(diǎn)。

二.如何解釋這種結(jié)果:

以 (i++)+(++i)+(++i)+(i++)+(i++) 為例:

計(jì)算步驟:

1. 先將所有的 i++ 改成 i ,然后在整個(gè)語(yǔ)句的后,統(tǒng)一將 i 自增相應(yīng)的次數(shù)(語(yǔ)句中有幾個(gè) i++,就在后自增幾次)。我們的例子,這時(shí)會(huì)變成 i+(++i)+(++i)+i+i; i++; i++; i++;

2. 按照加法的結(jié)合性,先將左起前兩項(xiàng)相加。如果前兩項(xiàng)中含有 ++i,則先算 ++i;

3. 前兩項(xiàng)的和作為一項(xiàng),與第三項(xiàng)相加,以此類推。同樣,遇到 ++i,就先算 ++i。

以上就是編譯器處理這種語(yǔ)句的規(guī)律,當(dāng)然,這并不是C語(yǔ)言定義的,只是編譯器在出錯(cuò)情況下的無奈之舉。

三.實(shí)例如下:i=5;

1. 求j = (i++)+(++i)+(i++) 和i的值 , j=18, i = 8

按上面的方法做:

1)先把i++換到后面,變成 i + (++i) + i ; i++; i++;

2)從左到右累加,先拿出前兩項(xiàng) i + (++i)。先算 ++i,i 的值變成6,兩項(xiàng)相加得12;

3)計(jì)算 12 +i,得18。

4)后面如果在打印i的值,則為8

2. 求j = (i++)+(i++)+(i++) 和 i 的值,j = 15, i = 8

按上面的方法做:

1)先把i++換到后面,變成 i + i + i ; i++; i++;i++;

2)從左到右累加,得到的值為15;

3)后面如果在打印i的值,則為8

3.求j = (++i)+(++i)+(++i) 和 i 的值, j = 22, i = 8

按上面的方法做:

1)從左到右累加,先拿出前兩項(xiàng) (++i) + (++i),先執(zhí)行兩次自增操作,第一次i的值變?yōu)?,第二次i的值變?yōu)?,然后再求值,7+7 = 14 。

2)14 + (++i) = 14+8 = 22;

3)后面如果在打印i的值,則為8

上一篇:WRTnode進(jìn)階篇: usb設(shè)備移植

下一篇:Hi3515 start.S文件分析

熱點(diǎn)文章推薦
華清學(xué)員就業(yè)榜單
高薪學(xué)員經(jīng)驗(yàn)分享
熱點(diǎn)新聞推薦
前臺(tái)專線:010-82525158 企業(yè)培訓(xùn)洽談專線:010-82525379 院校合作洽談專線:010-82525379 Copyright © 2004-2022 北京華清遠(yuǎn)見科技集團(tuán)有限公司 版權(quán)所有 ,京ICP備16055225號(hào)-5京公海網(wǎng)安備11010802025203號(hào)

回到頂部

主站蜘蛛池模板: 嫩草网站入口一区二区 | 男人桶女人18禁止网站 | 无码AV免费毛片一区二区 | 青青青国产依人在线 | 欧洲亚洲国产图片综合 | 波多野结衣AV最新作品在线观看 | 麻豆精品无码国产在线果冻 | 8X成年视频在线观看 | 免费XXXX大片 | www精品视频 | 内蒙古老熟女爽的大叫 | 国产精品久久久久久久久鸭 | 亚洲女初尝黑人巨 | 亚洲大码熟女在线观看 | 亚洲精品456在线播放乱码 | 免费无码又爽又高潮视频 | 免费网站在线观看人数在哪买 | 中国av大片 | 精品人妻无码专区在线无广告视频 | 亚洲国产高清国产精品 | 国产免费看插插插视频 | 成年人免费在线看惊悚片动作片 | 337p日本欧洲亚洲大胆裸体艺术 | 国产精品videossexohd | 做爰爽全过程免费的看 | 四虎av永久免费观看 | 色欲AV天天AV亚洲一区 | 亚洲欧美乱日韩乱国产 | 国产乱子伦一区二区三区 | 免费无码AV污污污在线观看 | 三级久久久 | 免费日韩视频 | 丁香婷婷激情俺也去俺来也 | 成本人h无码播放私人影院 在线精品自偷自拍无码 | 性少妇videosexfreexxxx片 | 小13箩莉黄瓜自慰喷白浆 | VIDEOS1080P内射少妇 | 久久人妻少妇嫩草AV | 亚洲W欧洲无码SSS222 | 日韩精品专区av无码 | 亚洲韩国精品无码一区二区 |