一道顺序表的编译问题,求高手帮忙排错,感激不尽!
编译器是vc++ 6.0 报错信息如下:warning C4133: 'function' : incompatible types - from 'char [4]' to 'struct seqlist *'
这个信息是什么意思呢?求大侠指教!
程序如下
1:头文件
typedef struct
{
int list[MAXSIZE]; // 存放顺序表的数组list[MAXSIZE];
int num; //当前顺序表元素个数 长度
}seqlist;
void creat(seqlist *l) // 创建一个顺序表
{
int i,n;
printf("enter the number of elements:");
scanf("%d",&n);
for(i=0;i<n;i++)
{
printf("enter element [%d]:",i+1);
scanf("%d",&(l->list[i]));
}
l->num=n;
}
//num
int num(seqlist *l) //求顺序表长度
{
return l->num;
}
//insert
int insert(seqlist *l,int m,int x) // 插入元素
{
int i,n;
n=l->num;
if(n==MAXSIZE)
{
printf("The list is overflow!\n");
return -1;
}
else if(m<1 || m>n+1)
{
printf("Parameter error!\n");
return -2;
}
else
{
for(i=n-1;i>=m-1;i--)
l->list[i+1]=l->list[i];
l->list[i]=x;
}
l->num=n+1;
return 0;
}
//delete
int delete(seqlist *l,int m) //删除元素
{
int i,n;
n=l->num;
if(n==0)
{
printf("The list is empty!\n");
return -1;
}
else if(m<1 || m>n)
{
printf("parameter error!\n");
return -2;
}
else
{
for(i=m;i<=n-1;i++)
l->list[i-1]=l->list[i];
l->num=n-1;
return 0;
}
}
//located
int locate(seqlist *l,int x) //定位元素
{
int i,n;
n=l->num;
for(i=0;i<=n-1;i++)
if(l->list[i]==x)
return ++i;
return 0;
}
//get
int get(seqlist *l,int m,int *x) //取元素
{
int n;
n=l->num;
if(m<1 || m>n)
{
printf("parameter error!\n");
return -1;
}
else
{
*x=l->list[m-1];
return 0;
}
}
void print_list(seqlist *l) //打印出顺序表元素 最后程序报错也是报这个函数的错 ,但是这个输出函数好像是对的 并没有错呀
{
int i,n;
n=l->num;
if(l->num==0)
printf("The list is empty!\n");
else
{
for(i=0;i<n;i++)
printf("%d\t",l->list[i]);
printf("\n");
}
}
2.主函数:
主函数意思是将两个顺序表 la ,lb ,求两个顺序表的并集
将lb中的每一个元素跟la中的对比 有部相同的元素则调用插入函数insert 将其插入到la中 最后将la输出
#define MAXSIZE 100
#include<stdio.h>
#include"seqlist2.h"
main()
{
seqlist la,lb;
int i,x;
creat(&la);
printf("Set A: \n");
print_list(&la);
creat(&lb);
printf("Set B: \n");
print_list(&lb);
for(i=0;i<lb.num;i++)
{
x=lb.list[i];
if(locate(&la,x)==0)
insert(&la,la.num+1,x);
}
printf("Set new A: \n");
print_list("&la"); <----------错误指向这一句
}
那个报错信息自己实在看不懂 求大侠指教!感激不尽!
C:\Users\hx\Desktop\数据结构 2\顺序表\线性表.c(27) : warning C4133: 'function' : incompatible types - from 'char [4]' to 'struct seqlist *'