[問題] char賦值的問題

看板C_and_CPP作者 (小天)時間9年前 (2014/10/14 11:24), 編輯推噓1(104)
留言5則, 3人參與, 最新討論串1/1
char* Mystrcpy(char* strDest,const char* strSrc) { int length=0; const char *temp = strSrc; while(*temp!='\0') { temp++; length++; } char *temp2 = strDest; while(*temp2!='\0') { *temp2 = '\0';//這邊就中斷了 temp2++; } for(int i=0 ;i<length; i++) { strDest[i] = strSrc[i]; } return strDest; } 想請問為什麼到那邊會中斷呢? 我只是想要賦值而已呀.... -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.225.249.37 ※ 文章網址: http://www.ptt.cc/bbs/C_and_CPP/M.1413257060.A.B8B.html

10/14 11:47, , 1F
那得檢查strDest進來的是什麼才知道
10/14 11:47, 1F

10/14 11:48, , 2F
char *strDest = "asdfasdf"; (我只是給他一個字串)
10/14 11:48, 2F

10/14 11:50, , 3F
寫資料到常數字串內,那當然掛了
10/14 11:50, 3F

10/14 12:48, , 4F
這個編的過讓我比較好奇一點 應該會上三行就編譯錯誤?
10/14 12:48, 4F

10/14 12:49, , 5F
噢沒事我眼殘看錯 orz
10/14 12:49, 5F
文章代碼(AID): #1KF9TakB (C_and_CPP)