永发信息网

linux下使用realloc出现段错误

答案:1  悬赏:0  手机版
解决时间 2021-02-08 23:08
以下是这个C语言程序的源代码,在windows平台下的dev c++中运行没有任何问题,但是在linux下(包括red hat 9.0和fedora 12中)可以通过链接编译,但是运行就会出现"Short String is:short string(换一行)segmentation fault".我已查出是使用realloc函数导致的这个问题,但是一直不知道应该如何解决,希望高手解答。
源代码:
#include <stdio.h>
#include <stdlib.h>
int main()
{
char *str;
str=(char*)malloc(20*sizeof(char));
if(str==NULL)
{
printf("Out of memory.\n");
exit(1);
}
str="short string";
printf("Short String is:%s\n", str);
str=(char*)realloc(str,40*sizeof(char));
str="long long long long string";
printf("Long string is:%s\n", str);
if(str!=NULL)
free(str);
return 0;
}
最佳答案
str="short string";这里已经把str指向short string"了,改成
strcpy(str,"short string");
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
玲珑纹身刺青(嘉定总店)地址在哪,我要去那里
【我的世界】僵尸马和骷髅马为什么不会攻击人
梵天刺青(上海知名纹身老店)地址好找么,我有
请问进派出所时是不是都要剪短发
筏头村在哪里啊,我有事要去这个地方
怎么将硬盘模式改成ide兼容模式
从齐齐哈尔到延吉最佳最快的路线!
复魂刺青纹身(百联卓越店)怎么去啊,我要去那
为什么漫画中沈昌珉的头上有根草
美宜大药房怎么去啊,有知道地址的么
跪求二手12款现代朗动,行驶2万多万公里,手
我写的诗不知道怎么样点评各位
纹艺复兴纹身店地址在什么地方,我要处理点事
爱太深终成劫蒋修远哪个app能看
鑫农欣便利店果蔬超市地址在什么地方,想过去
推荐资讯
袁记肉夹馍兴荣街店我想知道这个在什么地方
肺部结节灶有什么症状
瑞瑞国际化妆地址好找么,我有些事要过去
南海供电所(南海供电所营业厅)地址在哪,我要
我吃西药2年,药名是厄贝沙坦氢氯噻嗪片1粒(7
手术部位附近有感染区的切口:A.Ⅰ类切口B.Ⅱ
站售票厅(五龙南路)地址有知道的么?有点事想
肇庆学院音乐系一年的学费要多少钱
内江市安捷机动车检测有限公司地址好找么,我
500字作文变废为宝
小寨村大桥怎么去啊,有知道地址的么
联想b40-80电脑盒上的型号
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?