菜鸟指教 指针问题
下面添加图书函数中 红色部分 *nth第一问题: 为什么是 *nth 呢? 如果是 nth 会怎么样?
第二问题: (*nth)++; nth++ 能帮我说明一下吗?
刚看书的时候明白了点 现在想起来又迷糊了
#include<stdio.h>
#include<stdlib.h>
typedef struct BOOK
{
char name[30];
char auth[30];
char publ[30];
int borrowed;
}book;
int main()
{
int user_choice;
int num_total_book=0;
book* book_list;
printf("请输入书的数量:");
scanf("%d",&user_choice);
book_list=(book*)malloc(sizeof(book)*user_choice);
while(1)
{
printf("******** 图 书 管 理 系 统 ********\n\n");
printf("1.添 加 图 书\n");
printf("2.搜 索 图 书\n");
printf("3.出 租 图 书\n");
printf("4.返 还 图 书\n");
printf("5.退 出 系 统\n");
printf("选择菜单:");
scanf("%d",&user_choice);
if(user_choice==1)
{
add_book(book_list,&num_total_book); //添加图书
}
else if(user_choice==2)
{
//搜索图书
}
else if(user_choice==3)
{
//出租图书
}
else if(user_choice==4)
{
//返还图书
}
else if(user_choice==5)
{
break;
}
}
free(book_list);
return 0;
}
int add_book(book* book_list,int *nth) //添加图书函数
{
printf("图书名:");
scanf("%s",book_list[*nth].name);
printf("作者名:");
scanf("%s",book_list[*nth].auth);
printf("出版社:");
scanf("%s",book_list[*nth].publ);
book_list[*nth].borrowed=0;
printf("添加成功\n");
(*nth)++;
return 0;
}