| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 629 人关注过本帖
标题:链表插入时出错,大家看看哪里错了....
只看楼主 加入收藏
cmefly
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2007-11-13
收藏
 问题点数:0 回复次数:4 
链表插入时出错,大家看看哪里错了....
[size=5]请教个问题:
该程序先创建一个链表,然后在表中插入元素,
运行的时候显示在插入元素的时候(ListInsert)出了问题,大家帮忙看看是哪里错了...size]
程序代码:
#include "stdio.h"
#define LEN sizeof(LNode)
#define error -1
typedef struct LNode
{
   int  data;
   struct LNode *next;[local]1[/local]
}LNode,*LinkList;

main()
{
   LinkList creat(int);
   void print(LinkList);
   LinkList ListInsert(LinkList,int,int);
   LinkList head;
   int n,Insp,Insdata;
   printf("input the number of node:\n");
   scanf("%d",&n);
   head=creat(n);
   print(head);


   printf("input the position and digit tobe insert:");
   scanf("%d,%d",&Insp,&Insdata);
   head=ListInsert(head,Insp,Insdata);
   printf("the list after inserted");
   print(head);
}

LinkList creat(int n)
{
  LinkList L,p;
  int i;
  L=(LinkList)malloc(LEN);
  L->next=NULL;
  for(i=n;i>0;i--)
  {
     p=(LinkList)malloc(LEN);
     printf("input %dth node data:",i);
     scanf("%d",&p->data);
     p->next=L->next;
     L->next=p;
  }
  return L;
}

void print(LinkList head)
{
    LinkList p;
    int n=1;
    for(p=head->next;p!=NULL;p=p->next)
    {
      printf("point %d=%d\n",n++,p->data);
    }
}
LinkList ListInsert(LinkList head,int Insp,int Insdata)
{
   /*在链表第Insp个元素之前插入元素Insdata*/
     LinkList p,ins;
     int i=1;
     ins=(LinkList)malloc(LEN);
     ins->data=Insdata;
     p=head;
     while(i!=Insp);
     {
    p=p->next;
    ++i;
     }
    ins->next=p->next;
    p->next=ins;
    return head;
}


question.rar (996 Bytes)
搜索更多相关主题的帖子: 链表 
2008-01-05 15:18
中学者
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:20
帖 子:3554
专家分:80
注 册:2007-9-14
收藏
得分:0 
........

[[italic] 本帖最后由 中学者 于 2008-1-5 15:31 编辑 [/italic]]

樱花大战,  有爱.
2008-01-05 15:29
中学者
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:20
帖 子:3554
专家分:80
注 册:2007-9-14
收藏
得分:0 
while 后面多了个分号

樱花大战,  有爱.
2008-01-05 15:31
中学者
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:20
帖 子:3554
专家分:80
注 册:2007-9-14
收藏
得分:0 

樱花大战,  有爱.
2008-01-05 17:10
dumpling131
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2007-11-17
收藏
得分:0 
scanf("%d,%d",&Insp,&Insdata);语句中 最好在"%d,%d"中删除逗号,比较好用一些。如楼上所说,错误在于while后没有分号。[local]1[/local]不知道什么意思,误操作吧?我删除了。
2008-01-05 20:09
快速回复:链表插入时出错,大家看看哪里错了....
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.024972 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved