首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
给定程序MODI1.C中的函数Creatlink的功能是创建带头结点的单向链表,并为各结点数据域赋0到m-1的值。 请改正函数Crealink中指定部位的错误,使它能得出正确的结果。 注意:不要改动mam函数,不得增行或删行,也不得更改程序
给定程序MODI1.C中的函数Creatlink的功能是创建带头结点的单向链表,并为各结点数据域赋0到m-1的值。 请改正函数Crealink中指定部位的错误,使它能得出正确的结果。 注意:不要改动mam函数,不得增行或删行,也不得更改程序
admin
2018-09-27
40
问题
给定程序MODI1.C中的函数Creatlink的功能是创建带头结点的单向链表,并为各结点数据域赋0到m-1的值。
请改正函数Crealink中指定部位的错误,使它能得出正确的结果。
注意:不要改动mam函数,不得增行或删行,也不得更改程序的结构!
1 #include<stdio.h>
2 #include<stdlib.h>
3 typedef struct aa
4 { int datal
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(’’\n\nTHE 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;
解析
该题中函数功能是创建带头结点的单向链表。从已给定源程序的main主函数开始入手,首先通过“head=Creatlink(8,22);”语句调用Creatlink函数生成单向链表,然后“outlink(head);”输出该链表。
(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/x8xp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
设有定义:charp[]={′1′,′2′,′3′},*q=p;,以下不能计算出一个char型数据所占字节数的表达式是
以下错误的定义语句是
若变量a,b 已定义为int类型并赋值21和55,要求用printf函数以a=21,b=55的形式输出,请写出完整的输出语句[]。
以下叙述中错误的是______。
有以下程序:#include<stdio.h>main(){printf("%d\n",NULL);}程序运行后的输出结果是()。
有以下程序voidf(intx,inty){intt;if(x<y){t=x;x=y;y=t;}main(){inta=4,b=3,c=5;f
以下关于函数的叙述中正确的是______。
以下四个选项,不能看作一条语句的是()。
若有定义floatb[15],*p=b;,且数组b的首地址为200H,则p+13所指向的数组元素的地址为______。
若按功能划分,软件测试的方法通常分为白盒测试方法和()测试方法。
随机试题
该病例有3年病史,追问病史,应强调前列腺增生症患者最初出现的症状为下列哪一项不是前列腺增生引起下尿路梗阻后所致的病理改变
的极值点个数为()。
下列关于城市化进程与社会发展之间的关系叙述正确的是()。
基金宣传资料可以采用的形式包括()
小学生由于考试焦虑而产生的失眠可采用()来治疗。
有三种人才:能够独立做好事情的,能够带领好一个团队的。能够制定好的决策的,你认为自己属于哪一类?以后还需要在哪些方面努力?
在已打开的数据表文件中有“姓名”字段,此外又定义了一个内存变量“姓名”。要把内存变量姓名的值传送给当前记录的姓名字段,应使用命令______。
Withsomeeffectivemeasuresadoptedintheworkshop,theworkersaresafe_____gettinginjured.
InterculturalCommunicationProblemsandSolutionsI.InterculturalCommunicationProblemsA.Stereotyping—Definition:aselec
Today,Iamgoingtoidentifysometypicalresearchproblemsandalsosharewithyouthesolutionstotheseproblems.Thefirst
最新回复
(
0
)