注册 登录
编程论坛 数据结构与算法

希望前辈帮帮,为啥这个程序代码不能运行,错在哪里。。。

付得福 发布于 2014-01-19 12:15, 551 次点击
#define maxlen  100
typedef struct
{int data[maxlen];
 int listlen;
}seqlist;

#include<stdio.h>
void main()
{
seqlist L;

void initial_list(seqlist L);

int i,x;
int data[]={1,2,3,4,5,6,7,8,9,10};

void list_insert(seqlist L,int x);
printf("please enter a num:");
scanf("%d",&x);
list_insert(L,x);
printf("输出插入后的顺序:");
for(i=0;i<L.listlen;i++)
  printf("%5d",L.data[i]);
}

void initial_list(seqlist L)
{
    L.listlen=0;
}


void list_insert(seqlist L,int x)
{int j=L.listlen-1;
 if(j>maxlen) error("overflow");
 else{
     while(j>=0 && L.data[j]>x)
     {L.data[j+1]=L.data[j];
      j--;
     }
     L.data[j+1]=x;
     L.listlen++;
 }
}
3 回复
#2
yuccn2014-01-20 08:24
1 排版太难看了
2 把那两函数申明挪到include 之后好看点
3 seqlist L;为什么不初始化一下?
4 void initial_list(seqlist L)这函数是传形参而已,改成传实参
#3
followme0012014-01-28 11:33
版主说得对,
void initial_list(seqlist *L)
{
    L->listlen = 0;
}
#4
followme0012014-01-28 11:35
LZ可看看朱战立数据结构的书,有跟你这个差不多的。
1