首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
给定程序MODI1.C中的函数Creatlink的功能是创建带头结点的单向链表,并为各结点数据域赋0到m-1的值。 请改正函数Creatlink中指定部位的错误,使它能得出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改
给定程序MODI1.C中的函数Creatlink的功能是创建带头结点的单向链表,并为各结点数据域赋0到m-1的值。 请改正函数Creatlink中指定部位的错误,使它能得出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改
admin
2017-07-27
57
问题
给定程序MODI1.C中的函数Creatlink的功能是创建带头结点的单向链表,并为各结点数据域赋0到m-1的值。
请改正函数Creatlink中指定部位的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
1 #include<stdio.h>
2 #include<stdlib.h>
3 typedef struct aa
4 { int data;
5 struct aa *next;
6 } NODE;
7 NODE *Creatlink(int n,int m)
8 {NODE * h=NULL,*p,*s;
9 int i;
10 /**********found**********/
11 p=(NODE)malloc(sizeof(NODE));
12 h=p;
13 { p->next=NULL;
14 for(i=1;i<=n;i++)
15 {s=(NODE *)malloc(sizeof(NODE));
16 s->data=rand()%m; s->next=p->next;
17 p->next=s;p=p->next;
18 }
19 /**********found**********/
20 return p;
21 }
22 outlink(NODE *h)
23 { NODE *p;
24 p=h->next;
25 printf(’’\nXnTHE LIST:\n\n HEAD’’);
26 while(p)
27 { printf(’’->%d’’,p->data);
28 p=p->next;
29 }
30 printf(’’\n’’);}
31 main()
32 { NODE *head;
33 head=Creatlink(8,22);
34 outlink(head);}
选项
答案
(1)p=(NODE*)malloc (sizeof(NODE)); (2)return h;
解析
(1)“p=(NODE)malloc(sizeof(NODE));”第一标识,maclloc函数的返回类型是void*类型,表示未确定类型的指针,因此需要指针类型转换,而“(NODE)”不是指针类型,故第一标识下应改成“p=(NODE*)malloc(sizeof(NODE));”。
(2)第二个标识下,最后将单链表返回,应该是返回头指针h指向的链表,而不是其中的一个节点p,所以“return p;”应该改为“return h;”。
转载请注明原文地址:https://kaotiyun.com/show/eKDp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
交换两个变量的值,不允许用临时变量,应该使用下列()位运算符。
C语言中,凡未指定存储类别的局部变量的隐含存储类别是()。
若有定义:inta=6,b=8,c=14;接着顺序执行下列语句后,变量c中的值是()。c=(b-=(a-5));a=(c%3)+(a=8);
有以下程序:#include<stdio.h>main(){FILE*fp;inta[10]={1,2,3,0,0},i;fp=fopen("d2.dat","wb");fwrite(a,sizeof(int)
若有说明intm[3][4]={3,9,7,8.5},(*q)[4];和赋值语句q=m;,则对数组元素m[i][j](其中0<=i<3,0<=j<4)值的正确引用为()。
有以下程序:intf1(doubleA){returna*a;}intf2(intx,inty){doublea,b;a=f1(x);b=f1(y);returna+b;}mai
数字字符0的ASCII值为48,运行下列程序的输出结果是()。main(){chara=’1’,b=’2’;printf("%c,",b++);printf("%d\n",b-A);}
某二叉树中度为2的节点有18个,则该二叉树中有()个叶子节点。
以下程序的输出结果是【】。#inculde#inculde#inculdemain(){char*P,*q,*r;P=q=r=(char*)malloc(sizeof(char)*20):
下列关于队列的叙述中正确的是
随机试题
微小病变型肾病的主要诊断依据为
监理大纲中的主要监理对策包括()。
在软弱围岩地段施工时,应遵守的原则有()。
社会审计人员在对企业会计报表进行审计时,出具审计报告,理应对会计报表的正确性负责。()
对婴儿来讲,属于必需氨基酸的是()。
我在单位工作很有成就感,因此,在日常的生活和工作中,我不怕见父母,不怕见邻居,不怕见同事和领导,但是就怕见我孩子的四年级老师。都怪我的儿子不争气,使我也总是换这位老师的训。我儿子爱说爱动,在课堂上时常有“违反”纪律的现象,因此我被这位教师在电话里或当面训了
建立和完善广泛的统一战线,是建立、巩固和发展人民民主专政制度的重要保障。爱国统一战线具体包括
下列数据结构基本概念中错误的是()。
下列选项中,不属于模块间耦合的是()。
下列关于SQL命令的叙述中,正确的是( )。
最新回复
(
0
)