KobeBryant924 @ 2021-03-21 18:14:41
c语言链表,哪里错了呢
#include<stdio.h>
#include<math.h>
#include<string.h>
#include<stdlib.h>
#include <ctype.h>
typedef struct lnode
{
int gui;
int ge;
int data;
struct lnode*link;
} node,*linklist;
int main()
{
linklist p,r,list=NULL;
int n,q,op,i=1,gui,ge,bao;
scanf("%d%d",&n,&q);
while(i<=q)
{
scanf("%d",&op);
if(op==1)
{
scanf("%d",&gui);
scanf("%d",&ge);
scanf("%d",&bao);
if(list!=NULL)//清空柜子
{
p=list;
while(p!=NULL&&(p->gui!=gui||p->ge!=ge))
p=p->link;
if(p==NULL)
{
p=(linklist)malloc(sizeof(node));//新生成一个柜子
p->gui=gui;
p->ge=ge;
p->data=bao;
p->link=NULL;
if(list==NULL)
list=p;
else
r->link=p;
r=p;
}
else
{
p->data=bao;
}
}
else
{
p=(linklist)malloc(sizeof(node));//新生成一个柜子
p->gui=gui;
p->ge=ge;
p->data=bao;
p->link=NULL;
list=p;
}
}
else
{
p=list;
scanf("%d%d",&gui,&ge);
while(p->link!=NULL&&(p->gui!=gui||p->ge!=ge))
{
p=p->link;
}
printf("%d\n",p->data);
}
i++;
}
return 0;
}