有個地方不能理解

時間 2023-03-20 13:55:10

1樓:撿到的幸福

while(str2[count2])

str1[count1++]str2[count2++]

這個迴圈就是把str2加到str1

你可以模擬執行一下。

假設str1="0123"

str2="abc"

當執行到while之前時。

count2=4

count1=0

好下面就開始進入迴圈了,我們給出幾個變數在每一個迴圈的值。

迴圈 count1 count2 str1 str2 備註。

初始 4 0 0123 abc

1次迴圈後 5 1 0123a abc 在這次迴圈前由於count1=4,所以str1[count1]就是str1[4],同樣count2=0,所以str2[0],str1[4]=str2[0],也就是str[4]='a';這裡要注意的是,count1,count2後面還有++,這就表示執行完str1[4]=str2[0]後,count1和count2都加1就是由原來的4,0變成了5,1

2次迴圈後 6 2 0123ab abc

3次迴圈後 7 3 0123abc abc

4次迴圈時由於str2[count2])是str2[3],str2[3]='0',所以條件不符,所以退出迴圈。

再執行str1[count1]='0';就是str1[7]='0'

所以str1的記憶體情況如下。

位置 0 1 2 3 4 5 6 7

值 0 1 2 3 a b c \0

2樓:匿名使用者

當while(str1[count1])

count1++;

while(str2[count2])

count2++;執行後,count1和count2的值不再是0,而是達到字串最後一個字元的位置,count2=0;就是將count2的值重置為0,while(str2[count2])

str1[count1++]str2[count2++]就是將str2放到str1的結尾。再用str1[count1]='0';給它加上結束空白符。

3樓:匿名使用者

你的**相當於這樣。

count2=0;

while(str2[count2]!=0')str1[count1]='0';/結尾的\0表示字串結束。

4樓:網友

從迴圈第一步開始count1由於上面的count1++變成13 雖然只有12個字元,字元陣列最後還有個字元的。

str1[13]=str2[0]

迴圈第二步:

str1[14=str2[1]

依次類推。

有媽媽的地方,一定有陽光 怎麼理解

有首歌是這麼唱的,世上只有媽媽好。所以說如果有媽媽的地方,那麼就是美好的地方,就有陽光就溫暖,就有人照顧,即使你的媽媽已經很老了,那麼在你媽媽的身邊的時候,你起碼還可以是一個孩子,假如沒有了媽媽,那麼你就不再是一個孩子了,世界上的一切都會壓在你的身上,即使你能遮風也能擋雨,但是你卻少了那份童真,還有...

晚上不能去的十個地方分別是?

如果有可能的話,希望你不要一個人晚上出去,如果一個人出去,可以叫上一個伴,當時可以挑時間早一點的時候出去,在外面不要呆得太久。不要走沒有路燈的馬路,儘量挑有光線的馬路走。外出注意事項 隨身攜帶物品 身份證 錄取通知書 火車票等必備證件。錢 貴重物品等妥善放於箱包之內,身上可帶少量零錢。辦一個銀行卡,...

初學java,有個for迴圈巢狀不是太理解,跪求高手,這裡先

當x 1時,那麼只要內層y由5減到1時才結束一次迴圈,輸出54321system.out.println 分行 當x 2時,那麼只要內層y由5減到2時才結束一次迴圈,輸出5432system.out.println 分行 依次類推 最後x 5時,y開始就等於5,不能再減少了,所以只能輸出5.結果就成...