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

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

指針表達(dá)式:* ptr ++,* ++ ptr和++ * ptr

指針表達(dá)式:* ptr ++,* ++ ptr和++ * ptr

C++ C
米脂 2019-09-18 14:41:16
最近我遇到了這個(gè)我自己無法理解的問題。這三個(gè)表達(dá)式真正意味著什么?*ptr++*++ptr++*ptr我試過里奇。但不幸的是,他無法按照他講述的這三項(xiàng)行動(dòng)。我知道它們都是為了遞增指針/指向的值而執(zhí)行的。我還可以猜測(cè)可能有很多關(guān)于優(yōu)先級(jí)和評(píng)估順序的事情。就像一個(gè)指針首先遞增指針然后取出指針的內(nèi)容,一個(gè)簡(jiǎn)單地取出內(nèi)容然后遞增指針等等。正如你所看到的,我對(duì)他們的實(shí)際操作我沒有清楚的理解,我想盡快明確。但是當(dāng)我有機(jī)會(huì)將它們應(yīng)用到程序中時(shí),我真的迷失了。例如:int main(){    const char *p = "Hello";    while(*p++)         printf("%c",*p);    return 0;}給我這個(gè)輸出:ello但我的期望是它會(huì)印刷Hello。最后一個(gè)請(qǐng)求 - 請(qǐng)給出一些示例,說明每個(gè)表達(dá)式在給定的代碼段中的工作原理。因?yàn)榇蠖鄶?shù)時(shí)候只有一段理論飛過我的腦海。
查看完整描述

3 回答

?
隔江千里

TA貢獻(xiàn)1906條經(jīng)驗(yàn) 獲得超10個(gè)贊

假設(shè)ptr指向數(shù)組的第i個(gè)元素arr。


*ptr++求值arr[i]并設(shè)置ptr為指向的第(i + 1)個(gè)元素arr。它相當(dāng)于*(ptr++)。


*++ptr設(shè)置ptr為指向的第(i + 1)個(gè)元素arr并進(jìn)行求值arr[i+1]。它相當(dāng)于*(++ptr)。


++*ptr增加arr[i]1并評(píng)估其增加的價(jià)值; 指針ptr保持不變。它相當(dāng)于++(*ptr)。


還有一個(gè),但你需要括號(hào)來寫它:


(*ptr)++增加arr[i]1并在增加之前評(píng)估其值; 指針ptr再次保持不變。

其余的你可以弄清楚自己; @Jaguar也回答了這個(gè)問題。


查看完整回答
反對(duì) 回復(fù) 2019-09-18
?
慕絲7291255

TA貢獻(xiàn)1859條經(jīng)驗(yàn) 獲得超6個(gè)贊

*ptr++ : post increment a pointer ptr


*++ptr : Pre Increment a pointer ptr


++*ptr : preincrement the value at ptr location


閱讀此處有關(guān)預(yù)增量和后增量運(yùn)算符的信息


這將  Hello作為輸出


int main()

{

    const char *p = "Hello";

    while(*p)

         printf("%c",*p++);//Increment the pointer here 

    return 0;

}


查看完整回答
反對(duì) 回復(fù) 2019-09-18
  • 3 回答
  • 0 關(guān)注
  • 1440 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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