电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

实验03_单向链表

实验03_单向链表_第1页
1/15
实验03_单向链表_第2页
2/15
实验03_单向链表_第3页
3/15
124 12实验3 单项链表 【实验目的】 1.掌握单向链表的概念和建立方法。 2.掌握单向链表的基本操作。 【实验内容】 一.调试示例 输入若干个学生的信息(学号、姓名、成绩),当输入学号为 0 时结束,用单向链表组织这些学生信息后,再按顺序输出。(源程序 error11_3.cpp) 源程序(有错误的程序) 1 #include 2 #include 3 #include 4 struct stud_node{ 5 int num; 6 char name[20]; 7 int score; 8 struct stud_node *next; 9 }; 10 int main(void) 11 { 12 struct stud_node *head,*tail, *p; 13 int num, score; 14 char name[20]; 15 int size = sizeof(struct stud_node); 16 head = tail = NULL; 17 printf("Input num,name and score:\n"); 18 scanf("%d", &num); 19 /*建立单向链表*/ 20 while(num != 0){ 实验11 指针进阶 125 21 p = malloc(size); 22 scanf("%s%d", name, &score); 23 p->num = num; 24 strcpy(p->name, name); 25 p->score = score; 26 p->next = NULL; 27 tail->next = p; 28 tail = p; 29 scanf("%d", &num); 30 } 31 /*输出单向链表*/ 32 for(p = head; p->next != NULL; p = p->next) /*调试时设置断点*/ 33 printf("%d %s %d\n", p->num, p->name, p->score); 34 return 0; 35 } 运行结果(改正后程序的运行结果): Input num,name and score: 1 zhang 78 2 wang 80 3 Li 75 4 zhao 85 0 1 zhang 78 2 wang 80 3 Li 75 4 zhao 85 1.编译后共有 1 errors,鼠标双击第一个错误,观察源程序中箭头指向第 21 行,分析错误原因并改正: 错误信息: : error C2440: '=' : cannot convert from 'void *' to 'struct stud_node *' ; 错误原因: 动态申请要指定其类型 ; 改正方法: 在malloc 前加上 (struct stud_node*) ; 2.改正错误后重新编译、连接程序没有错误。运行程序,当输入完第一行数据按回车后,出现出错信息。 错误信息: ; 错误原因:在建立链表时没有考虑初始状态链表是空的情况; 改正方法:在第27 行前插入语句: if(head==NULL){head=p; tail = p;}else ; 实验11 指针进阶 126 3.改正错误后重新编译、运行程序,运行结果与预...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

实验03_单向链表

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部