作者rg550 (杰克)
看板C_and_CPP
標題[問題] 關於指標的應用
時間Thu Jun 18 14:17:50 2009
我想寫一個函式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
1F:→ pico2k:十誡裡的第五誡... 06/18 14:46
2F:推 ianfang:s2沒有配置合法空間 06/18 15:52
3F:→ rg550:感謝前輩指點orz.. 06/18 16:40