c语言链表寻找位置函数

不知道为什么出现以下的错误,把p->next->data改掉就没错误了。希望解答#include<stdio.h>#include<stdlib.h>typedefstr... 不知道为什么出现以下的错误,把p->next->data改掉就没错误了。希望解答
#include<stdio.h>
#include<stdlib.h>
typedef struct{
int data;
struct Lnode *next;
}Lnode;

int LookPos(Lnode *ls,int x)
{
Lnode *p=ls;
int pos=0;
while((p->next!=NULL)&&(p->next->data!=x))
{
p=p->next;
pos++;
}
return pos;
}
展开
 我来答
黄荣华0623
2013-10-15 · 超过20用户采纳过TA的回答
知道答主
回答量:61
采纳率:0%
帮助的人:55.8万
展开全部
可能p->next->data 两个成员函数要定义成共用体才能这么写吧
union就是共用体的意思吧,你可以查一下
其实你可以在while语句前面 加一句 p=p->next;
这样while语句就可以写成while((p!=NULL)&&(p->data!=x))
ljf10000
2013-10-16 · TA获得超过199个赞
知道小有建树答主
回答量:125
采纳率:0%
帮助的人:110万
展开全部
typedef struct{
int data;
struct Lnode *next; // 此时编译器不知道 struct Lnode 是啥东西
}Lnode;

改成

typedef struct Lnode { // 加上struct 名字
int data;
struct Lnode *next;
}Lnode;
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式