ebolaman
級別: 副版主
版區: 程式設計
x38
x458
|
分享:
▲
▼
抱歉我又發現我打錯了
應該是要
str_year=(char*)malloc((2+1)*(12)*sizeof(char)); str_cnstl=(char*)malloc((4+1)*(12)*sizeof(char));
至於 str_year=(char*)malloc((2+1)*(12)*sizeof(char));
2 是 例如 "雞" 的長度 1 是我額外好看用的分隔字元 ","
12 是有 十二生肖,至於之前 *2 是我之前只打中文時遺留下來的,打錯了
既然已經
str_year="鼠,牛,虎,兔,龍,蛇,馬,羊,猴,雞,狗,豬"; str_cnstl="水瓶,雙魚,牧羊,金牛,雙子,巨蟹,獅子,處女,天秤,天蠍,射手,摩羯";
我現在才終於了解,那些字串已經被載入到記憶體
因此指定符號只是指定 str_year 指標的位置到那個地方,之前 malloc 這個動作是白費力氣了,所以就算刪除也不會有問題
但是 get_str 函數內所需要使用的 tempc 就一定要用 malloc 因為內容需要被更動
唉唉,我對字元與字串還有型態還是搞不太清楚噫
我已經將程式碼重新修改過了,請參考前面回覆部分
|