哪位大侠能解释一下这段C代码哪里出错了,还有sqSearch函数里的参数sqList和*L之间怎么没空格?
#definemaxlen1000#include"stdio.h"typedefintelemtype;typedefstruct{elemtypeelem[maxle...
#define maxlen 1000
#include"stdio.h"
typedef int elemtype;
typedef struct {
elemtype elem[maxlen];
int len;
}sqList;
sqList *L;
int sqSearch(sqList*L,elemtype x)
{//在顺序表L中查找数据元素x在表中第一次出现的位置
int j;
for(j=0;j<L->len;j++)
if(L->elem[j]==x)
return(j+1);
return(0);
}
int sqInsert(SqList *L,elemtype x,int i)
{
int j,n;
n=L->len;
if(i<1||i>n+1)
{printf("Error"); return (0);}
if(n>=maxlen)
{printf("Overflow"); return(0);}
for(j=n;j>=i;j--)
L->elem[j]=L->elem[j-1];
L->elem[i-1]=x;
l->len++;
return(1);
} 展开
#include"stdio.h"
typedef int elemtype;
typedef struct {
elemtype elem[maxlen];
int len;
}sqList;
sqList *L;
int sqSearch(sqList*L,elemtype x)
{//在顺序表L中查找数据元素x在表中第一次出现的位置
int j;
for(j=0;j<L->len;j++)
if(L->elem[j]==x)
return(j+1);
return(0);
}
int sqInsert(SqList *L,elemtype x,int i)
{
int j,n;
n=L->len;
if(i<1||i>n+1)
{printf("Error"); return (0);}
if(n>=maxlen)
{printf("Overflow"); return(0);}
for(j=n;j>=i;j--)
L->elem[j]=L->elem[j-1];
L->elem[i-1]=x;
l->len++;
return(1);
} 展开
展开全部
#define maxlen 1000
#include"stdio.h"
typedef int elemtype;
typedef struct
{
elemtype elem[maxlen];
int len;
} sqList;
sqList *L; // 没用上
int sqSearch(sqList*L,elemtype x)
{//在顺序表L中查找数据元素x在表中第一次出现的位置
int j;
for(j=0;j<L->len;j++)
if(L->elem[j]==x)
return(j+1);
return(0);
}
int sqInsert(SqList *L,elemtype x,int i) // 注意大小写,SqList 应改为sqList
{
int j,n;
n=L->len;
if(i<1 || i>n+1) // 应该是i>n才对
{
printf("Error");
return (0);
}
if(n>=maxlen)
{
printf("Overflow");
return(0);
}
for(j=n;j>=i;j--)
L->elem[j]=L->elem[j-1];
L->elem[i-1]=x;
l->len++;
return(1);
}
其他并没有错误
#include"stdio.h"
typedef int elemtype;
typedef struct
{
elemtype elem[maxlen];
int len;
} sqList;
sqList *L; // 没用上
int sqSearch(sqList*L,elemtype x)
{//在顺序表L中查找数据元素x在表中第一次出现的位置
int j;
for(j=0;j<L->len;j++)
if(L->elem[j]==x)
return(j+1);
return(0);
}
int sqInsert(SqList *L,elemtype x,int i) // 注意大小写,SqList 应改为sqList
{
int j,n;
n=L->len;
if(i<1 || i>n+1) // 应该是i>n才对
{
printf("Error");
return (0);
}
if(n>=maxlen)
{
printf("Overflow");
return(0);
}
for(j=n;j>=i;j--)
L->elem[j]=L->elem[j-1];
L->elem[i-1]=x;
l->len++;
return(1);
}
其他并没有错误
追问
int sqSearch(sqList*L,elemtype x)这段代码中的
sqList*L,是什么意思呢,是sqList类型的指针变量吗,那sqList *L(中间有空格)是什么意思呢?
追答
sqList 是已经定义的结构体类型:
typedef struct
{
elemtype elem[maxlen];
int len;
} sqList;
而*表示指针,所以,sqList*L,中间*的前后有没有空格都一样,因为*已经把意思表达清楚了。确实是sqList的指针。唯独要注意的不是空格,而是大小写。
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询