qq_40724282 2017-10-20 16:27 采纳率: 66.7%
浏览 665

新人,小程序遇见问题了,大神来看看,帮个忙

#include #include #include #define OK 1 #define ERROR -1 typedef struct LNode{ int data; struct LNode *next; }LNode,*LinkList; struct LNode *p; //尾插法插入新元素 int GreateList(LinkList &L,int n) { int i; L=(LinkList)malloc(sizeof(LNode)); //先建立一个头结点为空的空表 L->next=NULL; printf("请输入您所希望的链表元素数目:"); scanf("%d",&n); for(i=0;idata); //输入元素 p->next=L->next; L->next=p; } return OK; } //在第i个元素之前插入n int Insert_List(LinkList &L,int i,int n) { LNode *s; int j=0; p=L; printf("请输入插入元素的位置:"); scanf("%d",&i); printf("请输入需要插入的元素:"); scanf("%d",&n); while(p&&jnext; j++; } if(!p||j>i-1) return ERROR; s=(LinkList)malloc(sizeof(LNode)); //生成新结点 s->next=p->next; //插入 p->next=s; return OK; } //删除第i个元素,并用e返回其值 int Delete_List(LinkList &L,int i,int e) { int j=0; p=L; printf("请输入你想删除元素的位置:"); scanf("%d",&i); while(p->next&&jnext; j++; } if(!(p->next)||j>i-1) //删除位置不合理 return ERROR; p->next=p->next->next; e=p->data; free(p); return OK; } //获取第i个元素的值,并用e返回 int GetElem_List(LinkList &L,int i,int e) { int j=1; p=L->next; printf("请输入你想获取元素的位置:"); scanf("%d",&i); while(p&&jnext; j++; } if(!p||j>i) //元素不存在 return ERROR; e=p->data; //获取 return OK; } //链表的遍历 int Display_List(LinkList &L) { p=L->next; while(p!=NULL) { printf("%d",p->data); p=p->next; } printf("\n"); return OK; } int main() { int i,m,a,e; int k=1; LinkList l; do { GreateList(l,m); Display_List(l); printf("请输入您所希望的操作步骤:"); scanf("%d",&a); switch(a) { case 1: Insert_List(l,i,e);break; case 2: Delete_List(l,i,e);break; case 3: GetElem_List(l,i,e);break; } }while(k==1); return OK; }

问题就是如图片所示,输入十个数据之后,确认之后,就会有第二张图片的情况,删除同文件夹其他文件也没用。求解。

图片图片

  • 写回答

1条回答 默认 最新

  • old_hjx 2017-10-21 02:33
    关注

    好好检查下指针指向吧,你这排版叫别人怎么看

    评论

报告相同问题?

悬赏问题

  • ¥50 如何增强飞上天的树莓派的热点信号强度,以使得笔记本可以在地面实现远程桌面连接
  • ¥15 MCNP里如何定义多个源?
  • ¥20 双层网络上信息-疾病传播
  • ¥50 paddlepaddle pinn
  • ¥20 idea运行测试代码报错问题
  • ¥15 网络监控:网络故障告警通知
  • ¥15 django项目运行报编码错误
  • ¥15 请问这个是什么意思?
  • ¥15 STM32驱动继电器
  • ¥15 Windows server update services