c2371看过其他解决方案没能解决问题
问题描述:
问题相关代码,请勿粘贴截图
c2371错误
运行结果及报错内容
void print_booklist_title()
{
printf("您查找的书的资料是:\n");
printf("--------------------------------------------------------------------------------");
printf("编号 书名 分类 借出时间 \n");
printf("--------------------------------------------------------------------------------");
}
void print_booknode(struct book *t)
{
if(t != NULL)
{
printf("%-20d%-30s%-10s",t->number, t->name, t->category);
if(t->lent == 1)
{
printf(" %d年%d月%d日\n",t->year,t->month,t->day);
}
else printf(" 在库\n");
}
else
{
printf("没有找到该书!\n");
printf("按任意键返回主菜单...\n");
getch();
}
}
//输出所有书
int print_all_book(struct book *head)
{
//清屏
system("CLS");
//打印小标题
printf("\n");
printf("================================显示所有书本====================================");
printf("\n");
//
char ch;
//
struct book *p;
p = head->next;
//
if (p == NULL)
{
printf("\n数据库中没有书本!\n\n");
printf(" 按任意键返回...");
ch = getch();
return 0;
}
//
print_booklist_title();
do
{
print_booknode(p);
p = p->next;
}
while(p->next != NULL);
printf("\n按任意键返回上级菜单哦...");
ch = getch();
return 1;
}

答
while(p->next != NULL);
这个有问题啊,如果p为空就爆机了。改为while(p!=NULL);
错误信息贴出来最好
答
先声明,后使用,以方便编译器识别出,从而实现 函数调用时,的参数和返回值的匹配(以及调用约定等的匹配)
先声2名print_booklist_title,print_booklist_title函数
答
你这报错的两个函数应该是某个类的成员函数吧,你应该在函数名前面加上 类名::
答
问题是什么,请说清楚。