有关课程设计图书管理系统中修改图书信息模块的问题
/*.................................................修改功能.........................................................*/ struct bookinf * Revise(struct bookinf * head) //定义子函数
{
struct bookinf * p1;
int num;
char bname[20];
char wname[10];
char clanum[14];
char pubcom[10];
char pubtime[10];
float price;
printf("Input the lognum\n"); //输出
scanf("%ld",&num); //读取长整形输出
if(head==NULL) //开头空
printf("Not records!\n"); //输出没结果 换行
else
{
for(p1=head;p1->next!=NULL;p1=p1->next)
{
if(p1->num==num)
{
printf("%ld %s %s %s %s %s %f\n",p1->num,p1->bname,p1->wname,p1->clanum,p1->pubcom,p1->pubtime,p1->price); //字节 大小
printf("Retype the static:\n"); //输出
scanf("%ld%s%s%s%s%s%f",&num,bname,wname,clanum,pubcom,pubtime,&price); //读 取
p1->num=num;
strcpy(p1->bname,bname); //读取
strcpy(p1->wname,wname);
strcpy(p1->clanum,clanum);
strcpy(p1->pubcom,pubcom);
strcpy(p1->pubtime,pubtime);
p1->price=price;
break;
}
}
if(p1==NULL)// p1空
printf("There isn't this static!\n");
}
return head;
}
这是百度找到的一个图书管理系统的修改模块的代码,因为没有学过链表然后自己看了书后还是半晕乎状态,
这块运行以后只能修改第一本第二本的图书信息(现已存在的是四本图书信息),在想是否是链表地址传递方面的问题还求大神解答
PS:不太懂for循环语句里面内容所表达的意思。。。