看這個函式的宣告, 一般就兩個作法一個是在函式內 malloc 然後複製好回傳但要記得把回傳值 free 掉, 不然就 memory leak 了另一個是在函式內有一個 static char buf[BUF_LEN]直接複製到這個 buf 後回傳, 然後拿到的人就不用 free但是就不能這樣用:f(copyStr(1,"abc"),copystr(2,"def")題外話,寫這種互動式的要處理輸入真是苦差事....稍微玩了一下,僅供參考
http://ideone.com/R5uZx7只改動一點你的函式,所以他還是會炸掉的