求帮助啊!!!!!!!!!!!!!!!

作者在 2011-03-08 22:14:51 发布以下内容
Run-Time Check Failure #3 - The variable 'l' is being used without being initialized.
 
运行程序 出来以上字句。。倍感无奈。。。望高手稍加指点;
 
程序代码如下:
#include <stdio.h>
#include <malloc.h>
#define list_init_size 5 //容量
#define listincrement 5 //追加量
typedef struct
 {
  int *elem;
  int listsize;
  int length;  //长度
 }sqlist;
void init (sqlist l)
{
 l.elem=(int *)malloc(list_init_size * sizeof(int));
 if(!l.elem) 
  printf("overflow");
 else{
   l.length=0;
   l.listsize=list_init_size;
  }
}
void listinsert (sqlist l)
{
 int m;
 int i,j;
 int *newbase;
 printf("请问顺序表中共有多少个数据:\n");
 scanf("%d",&m);
 if(m>=l.listsize)
  {
   i=m/5;
   for(j=0;j<i;j++)
    {
     newbase=(int *)realloc(l.elem,(l.listsize+listincrement)*sizeof(int));
     if(!newbase)
      printf("overflow");
     else 
      {
       l.elem=newbase;
       l.listsize=listincrement;
      }
    }
  }
 printf("请输入数据:\n");
 for(i=0;i<l.listsize;i++)
  {
   scanf("%d",&(l.elem[i]));
   l.length++;
  }
}
void reverse (sqlist l)
{
 int i=0,j=0,k=0,t=0;
 i=l.length-1;
 k=(i+1)/2;
 for(j=0;j<k;j++)
  {
   t=l.elem[j];
   l.elem[j]=l.elem[i-j];
   l.elem[i-j]=t;
  }
}
void show (sqlist l)
{
 int i=0;
 for(i=0;i<l.length;i++)
  {
   printf("%3d",l.elem[i]);
  }
}
void main()
{
 sqlist l;
 init(l);
 listinsert(l);
 printf("原顺序表为:\n");
 show(l);
 reverse(l);
 printf("逆置后的顺序表为:\n");
 show(l);
}
默认分类 | 阅读 473 次
文章评论,共0条
游客请输入验证码
浏览473次
文章分类
文章归档
最新评论