#include <stdio.h>
#include <malloc.h>
#include <string.h>
#define MAX_NUM 20
return 0;
}
个人感觉应该是你从文件中格式化读取出来的书本的信息有问题
建议你在读取文件后把每个属性用【】括起来输出,这样你能够看到读取的时候是不是多带了空格或者特殊符号
// ...
while(!feof(fp))
{
s=(LinkList*)malloc(sizeof(LinkList));
fscanf(fp,"%d %s %s %s %s %d %f\n",&s->data.num,&s->data.cla,&s->data.name,&s->data.author,&s->data.company,&s->data.count,&s->data.price);
printf(" 【%d】 【%s】\t 【%s】\t 【%s】 【%s】\t 【%d】\t \t【%6.2f】\n",s->data.num,s->data.cla,s->data.name,s->data.author,s->data.company,s->data.count,s->data.price);
s->next=NULL;
s->next=s;
last=s;
}
// ...