질문 버그 하나.

2310 단어 123
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
typedef struct LNode {
void               *data;
struct LNode    *next;
} LNode,*LinkList;
#define TRUE 1
#define FLASE 0
#define OK 1
#define ERROR 0
#define INFEASIBLE -1
#define OVERFLOW -2
typedef int Status;
typedef int ElemType ;
Status GetElem_L(LinkList L,int i,ElemType &e){
    LinkList p;int j;
    p=L->next;j=1;
    while(p &&j<i){
        p=p->next;++j;
    }
    if(!p||j>i)return OK;
}//GetElem_L  2.8
Status ListInsert_L(LinkList &L,int i, ElemType e){
    LNode p;
    int j;
    p=L;j=0;
    while(p && j<i-1){
        p=p->next; ++j;
    }
    if(!p||j>i-1) return ERROR;
    s=(LinkList)malloc(sizeof (LNode));
    s->data=e;s->next=p->next;
    p->next=s;
    return OK;
}//ListInsert_L  2.9
Status ListDestroy_L(LinkList &L,int i,ElemType &e){
      LinkList p,q;int j;
      p=L;j=0;
      while(p->next&&j<i-1){
        p=p->next; ++j;
      }
      if(!(p->next)||j>i-1) return ERROR;
      q=p->next;p-next=q-next;
      e=q->data;free(q);
      return OK;
}//ListDestroy_L  2.10
void CreateList_L(LinkList &L,int n){
    L=(LinkList)malloc(sizeof (LNode));
    L->next=NULL;
    for(i=n;i>0;--i){
        p=(LinkList)malloc(sizeof (LNode));
        scanf(&p->data);
        p->next=L->next;L->next=p;
    }
}// 2.11 CreateList_L
void MergetList_L(LinkList &La,LinkList &Lb,LinkList &Lc){
    LinkList pa,pb,pc;
    pa=La->next;pb=Lb->next;
    Lc=pc=La;
    while(pa&&pb){
        if(pa->data<=pb->data){
            pc->next=pa;pc=pa;pa=pa->next;
        }
        else{pc->next=pb;pc=pb;pb=pb->next;}
    }
    pc->next=pa?pa:pb;
    free(Lb);
}//void MergetList_L   2.12
int main(int argc, char **argv) {
return OK;
}

버그 3개가 있어요. 누가 찾아낼 수 있는지 봅시다.

좋은 웹페이지 즐겨찾기