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

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

指針問題 C語言

指針問題 C語言

C C++
惺惺惜 2015-12-20 23:18:47
# include <stdio.h>? ? ? ?void main( )?? ? ? ? ?{? ? ? ? ? ?char ?*str[]={"first", "second", "third", "fourth", "fifth"};? ? ? ? ? ?char ?**ptr=str;? ? ? ? ? ?int i;? ? ? ? ? ?for(i=0;i<3;i++)? ? ? ? ? ? ? printf("%s", (ptr+2)[i] );? ? ? ? ? }結(jié)果是什么 ?解釋是下
查看完整描述

2 回答

已采納
?
onemoo

TA貢獻(xiàn)883條經(jīng)驗 獲得超454個贊

那個printf語句,應(yīng)該并不是輸出第三行的第i個字符。


ptr是個char**指針沒錯, ptr一開始指向str數(shù)組中的第一個元素,注意這個數(shù)組元素類型是char指針,指向那幾個字符串。

ptr+2 就得到str數(shù)組第一個元素后數(shù)兩個的那個指針(也就是指向"third")。注意:得到的仍然是個char**的指針類型。

對一個char**指針類型應(yīng)用下標(biāo)操作符,相當(dāng)于得到相對ptr指針偏移后的指針,也就是說:

(ptr+2)[0] ?得到的還是ptr+2指針

(ptr+2)[1] ?得到的還是ptr+2指針后面位置的指針,也就是相當(dāng)于ptr+3,那么就指向了str數(shù)組的第4個元素"fourth"

(ptr+2)[2] ?同理,得到的是ptr+2指針后面第二個位置的指針,也就是相當(dāng)于ptr+4,那么就指向了str數(shù)組的第5個元素"fifth"

所以,for循環(huán)中的printf語句分別打印出的應(yīng)該是"third",?"fourth",?"fifth"這三個字符串,當(dāng)然它們?nèi)齻€是連著打出的?"thirdfourthfifth"

查看完整回答
反對 回復(fù) 2015-12-21
?
LZ子龍

TA貢獻(xiàn)1條經(jīng)驗 獲得超0個贊


#?include?<stdio.h>
???????void?main(?)?
?????????{
???????????char??*str[]={"first",?"second",?"third",?"fourth",?"fifth"};??//創(chuàng)建一個一維指針數(shù)組;
???????????char??**ptr=str;??//定義一個二級指針指向?str,也就是把str的每一個元素當(dāng)作了一個指針
???????????int?i;
???????????for(i=0;i<3;i++)
??????????????printf("%s",?(ptr+2)[i]?);??//?輸出第三行的第?i?個字符
??????????}


查看完整回答
反對 回復(fù) 2015-12-20
  • 2 回答
  • 0 關(guān)注
  • 1534 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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