[問題] 關於指標的應用

看板C_and_CPP (C/C++)作者 (杰克)時間16年前 (2009/06/18 14:17), 編輯推噓1(102)
留言3則, 3人參與, 最新討論串1/1
我想寫一個函式print(char *s1,int space) 功能是將輸入的字串s1,使用print函式後 他可以在畫面上空出space的格子數,在顯示 字串。以下為我的程式碼。 void print(char *s1,int space) { char *s2; while(space) { s2++; space--; } while(*s1) { *s2=*s1; s2++; s1++; } cout<<s2<<endl; } 我發現這個程式,在執行時,會發生錯誤,錯誤 點大概發生在第二個迴圈的*s2=*s1就會出錯, 我的想法是,第一個迴圈,將s2字串移動space後 ,再第二個迴圈之中,將s1放入,所以第二個迴 圈,內容是把字串中的字元,一個一個的複製, 但是卻在執行時會發生錯誤,請問這是什麼原因呢? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 219.84.27.29

06/18 14:46, , 1F
十誡裡的第五誡...
06/18 14:46, 1F

06/18 15:52, , 2F
s2沒有配置合法空間
06/18 15:52, 2F

06/18 16:40, , 3F
感謝前輩指點orz..
06/18 16:40, 3F
文章代碼(AID): #1AETmF5H (C_and_CPP)
文章代碼(AID): #1AETmF5H (C_and_CPP)