注册 登录
编程论坛 数据结构与算法

permission denied ld returned 1 exit status 是怎么一回事啊 听别人的360关了也不行啊

pmy931117 发布于 2012-10-12 15:38, 1062 次点击
#include <cstdlib>
#include <iostream>
#include <malloc.h>
#define status int
#define FALSE -1
#define OK 1
#define ElemType int
using namespace std;
typedef struct LNode
{ElemType data;
 struct LNode *next;}*LinkList;

status initlist(LinkList &L)
{
  if((L=(LinkList)malloc(sizeof(LNode)))==NULL)return FALSE;
  L->next=NULL;
  return OK;  }
  
status CreateList(LinkList &L,int n)
{ int j;
  LinkList p,q;
  q=L;
  for(j=0;j<n;j++)
  {
    p=(LinkList)malloc(sizeof(LNode));
    scanf("%d",&p->data) ;
    q->next=p;
    q=p;
   
                }
  q->next=NULL;   
  return OK;      
 
       }

void ListDelete(LinkList &L)
{LinkList p,q,r;
 p=L;
 q=p;
 p=p->next;
 while ((p=p->next)!=NULL)
   {q=p;
   p=p->next;
   if(p->data==q->data)
   {q->next=p->next;
    r=p;
    p=p->next;
    free(q);}
   
   }}
 status  DisplayList(LinkList L){
   LinkList p;
   p=p->next;
   while((p->next)!=NULL)
   {
     printf("%d\n",p->data);
     p=p->next;}
   return OK;      }
   
int main()
{int i,j;
 LinkList La;
 initlist (La);
 printf("请输入链表长度");
 printf("%d",&j);
 printf("请输入元素:\n");
 scanf("%d",&i);
 CreateList(La,j);
 DisplayList(La);
 ListDelete(La);
 DisplayList(La);
 system("pause");
 return 0;}   


我用的是Dev c++   怎么总是出来permission denied   ld returned 1 exit status  啊   
请大家帮帮忙啊
5 回复
#2
寒风中的细雨2012-10-12 19:45
顶下。。。   
#3
pmy9311172012-10-12 23:56
有木有人啊    急死了啊
#4
寒风中的细雨2012-10-13 08:30
程序代码:
printf("请输入链表长度");
printf("%d",&j);
printf("请输入元素:\n");
scanf("%d",&i);
CreateList(La,j);
为什么会用没有初始化的变量
ListDelete(La);
DisplayList(La);
这两个操作会造成非法访问


[ 本帖最后由 寒风中的细雨 于 2012-10-13 08:33 编辑 ]
#5
pmy9311172012-10-13 11:09
回复 4楼 寒风中的细雨
那应该怎么改呢  不懂诶
#6
qq4546659762012-10-15 22:35
不知道你删除的函数要做什么,建立表给你改过来了 ,贴代码可以运行
程序代码:
#include <cstdlib>
#include <iostream>
#include <malloc.h>
#define status int
#define FALSE -1
#define OK 1
#define ElemType int

using namespace std;
typedef struct LNode
{
    ElemType data;
    struct LNode *next;
}*LinkList;

status initlist(LinkList &L)
{
    if((L=(LinkList)malloc(sizeof(LNode)))==NULL)return FALSE;
    L->next=NULL;
    return OK;  
}

status CreateList(LinkList &L,int n)
{ int j;
LinkList p,q;
q=L;
printf("请输入元素:n");
for(j=0;j<n;j++)
{
    p=(LinkList)malloc(sizeof(LNode));
    scanf("%d",&p->data) ;
    p->next=NULL;
    q->next=p;
    q=p;
   
}
//q->next=NULL;   
return OK;      

}

void ListDelete(LinkList &L)
{
    LinkList p,q,r;
    p=L;
    q=p;
    p=p->next;
    while ( p!=NULL )
    {
        q=p;
        p=p->next;
        if(p->data==q->data)
        {
            q->next=p->next;
            r=p;
            p=p->next;
            free(q);
        }
        
    }
}

status  DisplayList(LinkList L)
{
    LinkList p;
    p=L->next;
    while(p!=NULL)
    {
        printf("%d  ",p->data);
        p=p->next;
    }
    printf("n");
    return OK;      
}

int main()
{int i,j;
LinkList La;
initlist (La);
printf("请输入链表长度");
scanf("%d",&i);
//printf("请输入元素:n");
//scanf("%d",&j);
CreateList(La,i);

DisplayList(La);

ListDelete(La);
//DisplayList(La);
system("pause");
return 0;}   
不知道你删除的函数要做什么,建立表给你改过来了 ,贴代码可以运行
1