#include <stdio.h>
#include <stdlib.h>
typedef int ElemType;
typedef struct Lnode{
struct Lnode *next;
ElemType date;
}Lnode,*LinkList;
void InitList(LinkList *l)//单链表的初始化。
{
l=(Lnode)malloc(sizeof(Lnode));
(*l )->next=NULL;
if(*l) printf("头节点,创建成功!\n");
else printf("头节点,创建失败!\n");
}
void CreatList(LinkList *l)//创建单链表
{
Lnode *head,*p;
int i;
head=l;//head指针=头节点
printf("请输入一共多少个节点:");
scanf("%d",&i);
printf("请分别输入它们的数值:");
for(;i>0;i--){
p=(Lnode)malloc(sizeof(Lnode));
scanf("%d",&p->date);
p->next=head->next;
head->next=p;//头插法
}
}
int ListDelete(LinkList *l,int i,ElemType *e)//在i位置上删除元素e
{
int j=i-1;
Lnode *head,*p,*q;
head=*l;
p=head;
while(p&&j>0){
p=p->next;
j--;
}
if(!p||i<1) return -1;
else{
q=p->next;
p->next=q->next;
*e=q->date;
free(q);//释放删除的空间
}
}
int main()
{
LinkList L;//头节点
int i;
ElemType e;
InitList(&L);
CreatList(&L);
printf("请输入要删除节点的位置:");
scanf("%d",&i);
if(ListDelete(&L,i,&e)==-1) printf("删除位置非法,删除失败!\n");
else printf("删除成功,%d位置的值为%d。\n",i,e);
}
运行时出现Process exited after 7.481 seconds with return value 24
value 24 是什么原因?

dev c++ 编译时出现以下结果
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-