1樓:匿名使用者
在執行 strcat 之前:
a+3 為 "de"
a 為 "abcde"
意思就是把 a 所指向的字串,連線在 a+3 所指向的字串的後面。
現在我們來一個字元一個字元的連線,看看這個過程。
連線過程:
序號 a+3 a
1 dea abcdea2 deab abcdeab3 deabc abcdeabc4 deabcd abcdeabcd5 ... .....
這樣一來的結果就是,這個連線過程永遠都有完,而且永遠也沒有\0結束的時候。
所以直接就訪問記憶體越界而出錯了。
strcat函式的的
src和dest引數所指記憶體區域不可以重疊且dest必須有足夠的空間來容納src的字串。
返回指向dest的指標。
2樓:
char a[100]="abcde";
strcat(a,"3");
puts(a+3);
應該這樣寫吧。
不太懂你的意思。
資料結構c語言描述,資料結構(C語言描述)
include include include define datatype int define maxsize 1000 typedef struct nodebitreenode datatype bt maxsize bitreenode buildbtree datatype bt,in...
c語言作業問題描述輸入正整數m和nm
我也在做這道題,借鑑了你的呼叫函式,上傳後沒問題的 include int main void return 0 int fib int i 將for裡面的i n改成fib i n,就可以了 你這個很明顯是while導致一直迴圈 因為你m和n總是滿足while裡面的條件,結果就會一直做while迴圈...
c語言檔案的編譯與執行的階段並分別描述
開發c程式有四個步驟 編輯 編譯 連線和執行。任何一個體繫結構處理器上都可以使用c語言程式,只要該體系結構處理器有相應的c語言編譯器和庫,那麼c源 就可以編譯並連線到目標二進位制檔案上執行。1 預處理 匯入源程式並儲存 c檔案 2 編譯 將源程式轉換為目標檔案 obj檔案 4 執行 執行,獲取執行結...