梵洛何 2014-12-27 03:04 采纳率: 18.2%
浏览 2365

为什么malloc函数free时出错

菜鸟求解答
好像是什么越界使用了申请内存,还有为什么指针指向NULL后还是显示错误的指针

代码
#include
#include
#define NULL 0
using namespace std;
int main(void)
{
int N;
cout<<"请输入将要输入的字符串个数"< scanf("%d",&N);
char **p=(char **)malloc(sizeof(char *)*N);
int j,k;
for(j=0;j *(p+j)=NULL;
void input(char **,int);
input(p,N);
void sort(char **,int);
sort(p,N);
cout for(j=0;j cout for(k=0;k {
free(*(p+k));
*(p+j)=NULL;
}
free(p);
p=NULL;
return 0;
}
void input(char **p,int N)
{
int i;
char temp[80];
cout for(i=0;i {
cin>>temp;
p[i]=(char )malloc(strlen(temp)+1);
strcpy(p[i],temp);
}
return;
}
void sort(char **p,int N)
{
int i,k,a=2;
char *temp=NULL;
for(i=N-1;i>=1;i--) //冒泡排序
{
for(k=0;k<=i-1;k++)
{
if(strcmp(
(p+k),*(p+k+1))>0)
{
temp=*(p+k);
(p+k)=(p+k+1);
*(p+k+1)=temp;
}
}
}
return;
}

  • 写回答

3条回答 默认 最新

  • oyljerry 2014-12-27 03:36
    关注

    设置断点单步调试一下

    评论

报告相同问题?

悬赏问题

  • ¥100 求三轴之间相互配合画圆以及直线的算法
  • ¥100 c语言,请帮蒟蒻写一个题的范例作参考
  • ¥15 名为“Product”的列已属于此 DataTable
  • ¥15 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 自己瞎改改,结果现在又运行不了了
  • ¥15 链式存储应该如何解决
  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站