蒟蒻求助
查看原帖
蒟蒻求助
313756
KobeBryant924楼主2021/3/21 18:14

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;
}
2021/3/21 18:14
加载中...