哪位大侠能解释一下这段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);
}
展开
 我来答
神木鱼1
推荐于2016-10-30 · TA获得超过396个赞
知道小有建树答主
回答量:177
采纳率:0%
帮助的人:177万
展开全部
#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);
}
其他并没有错误
追问
int sqSearch(sqList*L,elemtype x)这段代码中的
sqList*L,是什么意思呢,是sqList类型的指针变量吗,那sqList *L(中间有空格)是什么意思呢?
追答
sqList 是已经定义的结构体类型:
typedef struct
{
elemtype elem[maxlen];
int len;
} sqList;
而*表示指针,所以,sqList*L,中间*的前后有没有空格都一样,因为*已经把意思表达清楚了。确实是sqList的指针。唯独要注意的不是空格,而是大小写。
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式