想要将商品信息读入链表中,但编译发生错误,求解;
代码如下:
```#include<stdio.h>
#include<stdlib.h>
#define GOODS_FILE_NAME "goodsinfo.txt"
#define MAX_ID_LEN 30
#define MAX_NAME_LEN 30
#define MAX_PRICE_LEN 30
#define MAX_DISCOUNT_LEN 30
extern int CurrentCnt;
typedef struct {
char goods_id[MAX_ID_LEN];
char goods_name[MAX_NAME_LEN];
int goods_price;
char goods_discount[MAX_DISCOUNT_LEN];
int goods_amount;
int goods_remain;
} GoodsInfo;
typedef struct node
{
GoodsInfo data;
struct node *next;
} GoodsList;
int main ()
{
GoodsList **L;
GoodsInfo info;
GoodsList *head_list=(GoodsList*)malloc(sizeof(GoodsList)),*p;
*L=head_list;
FILE *fp=fopen("goodsinfo.txt","r");
if(fp==NULL){
printf("error: file not found");
return 0;
}
else {
while(!feof(fp)) {
fscanf(fp,"%s%s%d%s%d%d",info.goods_id,info.goods_name,&(info.goods_price),info.goods_discount,&(info.goods_amount),&(info.goods_remain));
p=(GoodsList *)malloc(sizeof(GoodsList));
head_list->next=p;
head_list->data=info;
CurrentCnt++;
}
}
fclose(fp);
p->next=NULL;
printf("商品的链表文件已建立,有%d个商品记录\n", CurrentCnt);
}
编译错误如下:
![img](https://img-mid.csdnimg.cn/release/static/image/mid/ask/777831733836152.png "#left")