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 因为内容需要被更动
唉唉,我对字元与字串还有型态还是搞不太清楚噫
我已经将程式码重新修改过了,请参考前面回覆部分
|