為何會這樣呢
#include <stdio.h>
#include <stdlib.h>
struct node {
int data;
struct node*next;
};
typedef struct node NODE; NODE*createlistr()
{int x;NODE*head,*L,*r;
head=NULL;
r=NULL;
scanf("%d",&x);
while(x!=-1)
{
L=(NODE*)malloc(sizeof(NODE));
L->data=https://bbs.csdn.net/topics/x;
if(head==NULL)head=L;
else r->next=L;
r=L;
scanf("%d",&x);
}
if(r!=NULL)r->next=NULL;
return head;
}
int min(NODE*L)
{
NODE*p,*k;
int x;
k=L;
while(k->next!=NULL)
if(k->data>=k->next->data)
{ p=k->next; k=k->next;
}
x=p->data;
if(x%2==1)
{
delete_(p);
return(1);
}
else
return(2);
} void delete_ (NODE*p)
{
NODE*q;
q=p->next;
p->data=https://bbs.csdn.net/topics/p->next->data;
p->next=q->next;
free(q);
}
int main()
{ int x; NODE*L;
L=createlistr();
x=min(L);
printf("%d",x);
}
uj5u.com熱心網友回復:
函式void delete_ (NODE*p)的宣告定義在min函式之后,導致min不認識delete_把
void delete_ (NODE*p)
{
NODE*q;
q=p->next;
p->data=https://bbs.csdn.net/topics/p->next->data;
p->next=q->next;
free(q);
}
挪到min函式的上面
或者在min函式的上面加入
void delete_ (NODE*p); //加入函式宣告
uj5u.com熱心網友回復:
好的好的,謝謝轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/108788.html
標籤:新手樂園
上一篇:C語言撰寫
