問4道關於C語言指標方面的問題

時間 2022-07-11 04:50:08

1樓:

第一題strcpy(str+1,p2+1); strcpy(str+3,p1+3);

兩個拷貝函式

第乙個從p2這個字串的第二位開始考,str的第二位開始接收,到\0為止

結果str字串為afgh\0fg

第二個同理:str為 afgd\0fg

但是printf只列印到\0所以答案為d

第二個問題

其實記憶體是乙個線性的空間而已

p+10 正好跳過了str【】的10個空間。

china\0\0\0\0\0beijing\0\0\0記憶體中的形式第三個問題

while迴圈最後一次 那就是 pb = b1;

那麼strcpy以後b1完全同等於b2

第四個問題

for之前

ps所在的位置是xyz\0中的\0位置

puts與printf一樣到\0結束 每次往回走一位

2樓:匿名使用者

1 執行strcpy(str+1,p2+1)後,將p2+1所指向的字串「fgh\0」賦給首位址為str+1的記憶體空間,此時str指向的記憶體儲存的是afgh\0fg.(其中\0為字串的結束符,下同)

執行strcpy(str+3,p1+3)後,str指向的記憶體儲存的是afgd\0fg.

printf("%s",str);將str指向的字串輸出,str此時指向的字串為「afgd\0」,因此輸出afgd。

3樓:望涵韻

wanglllmn說的很好了,第四題提醒的是:

在c語言中,for語句使用最為靈活,它完全可以取代 while 語句。它的一般形式為:

for(表示式1;表示式2;表示式3) 語句它的執行過程如下:

1) 先求解表示式1。

2) 求解表示式2,若其值為真(非0),則執行for語句中指定的內嵌語句,然後執行下面第3)步;若其值為假(0),則結束迴圈,轉到第5)步。

3) 求解表示式3。

4) 轉回上面第2)步繼續執行。

5) 迴圈結束,執行for語句下面的乙個語句。

4樓:那壹抹嫣紅

1. strcpy(str+1,p2+1); 用 p2中的fgh去覆蓋str[50]中的bcdefg; str[50]為afgh;strcpy(str+3,p1+3);用p1中的d覆蓋str[50]中的h, str[50]為afgd。

2。p開始指向china; p+10指標剛好移到beijing的開頭處所以輸出為beijing;

3。pb指標在while(--pb>=b1) strcpy(b2,pb);中移到了b1[8]中的a處,所以b2為abcdefg,strlen(b2)為7

4。指標在z處輸出z,指標在y處輸出yz,指標在x處輸出xyz,

C語言指標問題,求詳解,求解一道C語言指標問題

文庫精選 內容來自使用者 zzbo2022 讓你不再害怕指標 前言 複雜型別說明 要了解指標,多多少少會出現一些比較複雜的型別,所以我先介紹一下如何完全理解一個複雜型別,要理解複雜型別其實很簡單,一個型別裡會出現很多運算子,他們也像普通的表示式一樣,有優先順序,其優先順序和運算優先順序一樣,所以我總...

問關於c語言指標的問題,問一個關於C語言指標的問題

常玉標 cannot convert from const int to double 編譯器 會出現這樣的錯誤.應為不能把const int 賦值給 double 型別的變數.希望你能懂 首先我鄙視下樓上的回答,答非所問。你這肯定錯誤的啊,首先 double p 是定義了一個指標變數p,p只能存放...

C語言關於指標的一道題,C語言關於指標的一道選擇題

sum sum p 二維陣列的指標不是怎麼用的吧 直接加個一就相當於指向了第二行的首位址了 printf 5.2f p n 1 i c語言關於指標的一道選擇題 d 第一次列印 p 先取值後 也就是列印完p的位址才偏移的。k p,那麼 k就等價於 p,所以列印的是第二個陣列的值 c語言指標的一道題 岔...