首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
给定程序MODI1.C中的函数Creatlink的功能是创建带头结点的单向链表,并为各结点数据域赋0到m-1的值。 请改正函数Creatlink中指定部位的错误,使它能得出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构! #
给定程序MODI1.C中的函数Creatlink的功能是创建带头结点的单向链表,并为各结点数据域赋0到m-1的值。 请改正函数Creatlink中指定部位的错误,使它能得出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构! #
admin
2019-09-02
32
问题
给定程序MODI1.C中的函数Creatlink的功能是创建带头结点的单向链表,并为各结点数据域赋0到m-1的值。
请改正函数Creatlink中指定部位的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
#include<stdio.h>
#include<stdlib.h>
typedef struct aa
{ int data;
struct aa *next ;
}NODE;
NODE*Creatlink(int n,int m)
{NODE*h=NULL,*p,*s;
int i;
/**********found**********/
p=(NODE)malloc(sizeof(NODE));
h=p;
p->next=NULL;
for(i=1;i<=n;i++)
{s=(NODE*)malloc(sizeof(NODE));
s->data=rand()%m;s->next=p->next;
p->next=s;p=p->next;
}
/**********found**********/
return p;
}
outlink(NODE*h)
fNODE*p;
p=h->next;
printf("\n\nTHE LIST:\n\n HEAD");
while(p)
{printf("->%d",p->data);
p=p->next;
}
printf("\n");}
main()
{NODE*head;
head=Creatlink(8,22);
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*)malloe(sizeof(NODE));”。
(2)第二个标识下,最后将单链表返回,应该是返回头指针h指向的链表,而不是其中的一个节点p,所以“return p;”应该改为“return h;”。
转载请注明原文地址:https://kaotiyun.com/show/zKRp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
结构化程序设计中,下面对goto语句使用描述正确的是
对长度为10的线性表进行冒泡排序,最坏情况下需要比较的次数为
以下选项中,不合法的C语言用户标识符是
有以下程序#includevoidfun(char*t,char*s){while(*t!=0)t++;while((*t++=*s++)!=0);}main(){charss[10]="ace",aa[10]="bbxxyy";
有以下程序voidfun(intx,inty,int*C,int*d)D){*c=x+y;*d=x—y;}main(){inta=4,b=3,c=0,d=0;fun(a,b,&c,&d);printf(
s1和s2已正确定义并分别指向两个字符串。若要求:当s1所指串大于s2所指串时,执行语句S;则以下选项中正确的是
有两个关系R和S如下:由关系R通过运算得到关系S,则所使用的运算为
以下程序函数f的功能是:当flag为1时,进行由小到大排序;当flag为0时,进行由大到小排序voidf(intb[],intn,intflag){inti,j,t;for(i=0;i<n-1;i++)for(j=i+1j<
有3个关系R、S和T如下:则由关系R和S得到关系T的操作是()。
以下选项中合法的标识符是
随机试题
螺旋线的切线与轴线的夹角称为螺旋角。()
A.微循环前阻力血管收缩B.微循环前阻力血管扩张C.微循环后阻力血管扩张D.外周阻力增高E.外周阻力降低高动力休克
A.腹会阴联合直肠癌根治术B.经腹腔低位直肠癌切除术(Dixon)C.经腹直肠癌切除、人工肛门、远端封闭术D.拉下式直肠癌切除术E.乙状结肠造口术(2000年)直肠癌块下缘距肛门12cm适用
鉴别嵌顿性疝与绞窄性疝最典型的表现是
若信用证规定货名为MACHINE,发票误打成MASHINE,开证行不应据以拒付。
唐乾陵是唐代十八陵中保存得最完整的一座,是唐代李世民的陵墓。()
2018年12月22日,虹云工程首颗卫星在酒泉卫星发射中心成功发射。下列关于该工程和卫星的说法,错误的是()。
朱古达战争
已知A=,如果秩r(A)=2,则a必为
Formanypeopletoday,readingisnolongerrelaxation.Italsomeanswork.Tokeepuptheirworktheymustreadletters,report
最新回复
(
0
)