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語言指標的一道題 岔...