我的链表哪里错了?
#include<stdio.h>#include<stdlib.h>
struct products
{
int num,stock,sell,store;
char name[100];
struct products *next;
};
typedef struct products pro;
//录入商品信息
void main()
{
struct products *head=NULL,*p1=NULL,*p=NULL;
int a=0;
char ch;
p=(struct products*)malloc(sizeof(struct products*));
p->next=NULL;
head=p;
p1=head;
p=head;
do
{
printf("请输入商品编号和商品名 进货量 库存量 销售量\n");
scanf("%d %s %d %d %d",&p->num,&p->name,&p->stock,&p->store,&p->sell);
p->next=NULL;
p=p->next;
printf("继续输入?Y/N\n");
getchar();
ch=getchar();
if(ch=='N')
a=1;
}while(a!=1);
p1=head;
while(p1!=NULL)
{
printf("%d %s %d %d %d\n",p1->num,p1->name,p1->stock,p1->store,p1->sell);
p1=p1->next;
}
}
我想设计一个链表记录输入的数据,但为什么这个不可以呢?
就算改了,也只能记录一个商品的数据,我是想记录多个商品数据的。
求解答,可以的话请帮忙修改一下。急用丫。给位大侠帮帮忙。