这一段代码不是太能看懂,是什么意思,怎么理解
//修改学生信息
void Change(pnode phead)
{
char Name[10];
printf("请输入你需要修改的学生的姓名:");
scanf("%s",&Name);
pnode p=phead->pnext;//定义一个指针用于遍历学生信息
while(NULL!=p)
{
if(0==strcmp(Name,p->st.Name))
{
printf("姓名 学号 计算机 高数 大英 总分 平均分\n");
system("pause");
system("cls");//清屏
printf("请输入新的学生姓名:");
scanf("%s",p->st.Name);
printf("请输入新的学生学号:");
scanf("%d",&p->st.Num);
printf("请输入新的学生的计算机成绩:");
scanf("%f",&p->st.Computer);
printf("请输入新的学生的高数成绩:");
scanf("%f",&p->st.Math);
printf("请输入新的学生的大英成绩:");
scanf("%f",&p->st.English);
p->st.Total=p->st.Computer+p->st.Math+p->st.English;//计算总分
p->st.Ave=p->st.Total/3.0f;//计算平均分
break;
}
p=p->pnext;
}
}
c语言链表中修改代码的理解
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- 8号店长 2022-07-13 13:08关注
void Change(pnode phead) { char Name[10]; printf("请输入你需要修改的学生的姓名:"); scanf("%s",&Name); pnode p=phead->pnext;//定义一个指针用于遍历学生信息 while(NULL!=p)//学生信息不为空 { if(0==strcmp(Name,p->st.Name))//判断当前指针是否指向需要修改的学生的姓名 {//当前指针指向需要修改的学生姓名,以下进行修改 printf("姓名 学号 计算机 高数 大英 总分 平均分\n"); system("pause"); system("cls");//清屏 printf("请输入新的学生姓名:"); scanf("%s",p->st.Name); printf("请输入新的学生学号:"); scanf("%d",&p->st.Num); printf("请输入新的学生的计算机成绩:"); scanf("%f",&p->st.Computer); printf("请输入新的学生的高数成绩:"); scanf("%f",&p->st.Math); printf("请输入新的学生的大英成绩:"); scanf("%f",&p->st.English); p->st.Total=p->st.Computer+p->st.Math+p->st.English;//计算总分 p->st.Ave=p->st.Total/3.0f;//计算平均分 break;//修改完毕,跳出循环 } p=p->pnext;///当前指针未指向需要修改的学生姓名,继续向后寻找 } }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 kali环境运行volatility分析android内存文件,缺profile
- ¥15 写uniapp时遇到的问题
- ¥15 vs 2008 安装遇到问题
- ¥15 matlab有限元法求解梁带有若干弹簧质量系统的固有频率
- ¥15 找一个网络防御专家,外包的
- ¥100 能不能让两张不同的图片md5值一样,(有尝)
- ¥15 informer代码训练自己的数据集,改参数怎么改
- ¥15 请看一下,学校实验要求,我需要具体代码
- ¥50 pc微信3.6.0.18不能登陆 有偿解决问题
- ¥20 MATLAB绘制两隐函数曲面的交线