首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
给定程序MODI1.C中的函数Creatlink的功能是创建带头结点的单向链表,并为各结点数据域赋0到m.1的值。 请改正函数Creatlink中指定部位的错误,使它能得出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改
给定程序MODI1.C中的函数Creatlink的功能是创建带头结点的单向链表,并为各结点数据域赋0到m.1的值。 请改正函数Creatlink中指定部位的错误,使它能得出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改
admin
2015-08-23
34
问题
给定程序MODI1.C中的函数Creatlink的功能是创建带头结点的单向链表,并为各结点数据域赋0到m.1的值。
请改正函数Creatlink中指定部位的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
#include
#include
typedef struct aa
{ int data ;
struct aa*next;
)NODE;
NODE*CreatIink(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()%mj s->next=p->
next;
P->next=s;p=p->next;
}
/**********found**********/
return p;
}
outlink(NODE*h)
{NODE*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 *)ms1loc(si zeof(NODE)); (2)return h;
解析
(1)第一标识下“p=(NODE)malloc(sizeof(NODE));”,maclloc函数的返回类型是void*类型,表示未确定类型的指针,因此需要指针类型转换,而“(NODE)”不是指针类型,故第一标识下应改成“p=(NODE*)malloc(sizeof(NODE));”。
(2)第二个标识下,最后将单链表返回,应该是返回头指针h指向的链表,而不是其中的一个节点p,所以“returnp;”应该改为“retum h;”。
转载请注明原文地址:https://kaotiyun.com/show/LHDp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
在C语言中,函数调用时()。
若函数调用时,参数为基本数据类型的变量,下列叙述中正确的是()。
设在主函数中有以下定义和函数调用语句,且fun函数为void类型;请写出fun函数的首部【】,要求形参名为b。main(){doubles[10][22];intn;…fun(s);
有以下程序:voidsum(inta[]){a[0]=a[-1)+a[1];}main(){inta[10]=(1,2,3,4,5,6,7,8,9,10};sum(&a[2]);printf("%d
设有表示学生选课的三张表,学生S(学号,姓名,性别,年龄,身份证号),课程C(课号,课名),选课SC(学号,课号,成绩),则表SC的关键字(键或码)为
有以下结构体说明和变量的定义,且指针p指向变量a,指针q指向变量b,则不能把结点b连接到结点a之后的语句是【】。structnode{chardata;structnode*next;}a,b
以下程序用于判断a、b、c能否构成三角形,若能,输出YES,否则输出NO。当给a、b、c输入三角形三条边长时,确定a、b、c能构成三角形的条件是需同时满足三个条件:a+b>c,a+c>b,b+c>a。请填空。main(){floata,b
以下函数rotate的功能是:将a所指N行N列的二维数组中的最后一行放到b所指二维数组的第0列中,把a所指二维数组中的第0行放到b所指二维数组的最后一列中,b所指二维数组中其他数据不变。#defineN4voidrotade(i
利用fseek函数可实现的操作是()。
用筛选法可得到2~n(n<10000)之间的所有素数,方法是:首先从素数2开始,将所有2的倍数的数从数表中删去(把数表中相应位置的值置成0);接着从数表中找下一个非0数,并从数表中删去该数的所有倍数;依此类推,直到所找的下一个数等于n为止。这样会得到一个序
随机试题
按照构成,利润可分为()。
关于乳腺癌的叙述正确的是
急性有机磷中毒的患者,医嘱给予阿托品静脉注射,在给药后患者最可能出现
()是在工程实施前的设计阶段,在保证使用功能和使用寿命的前提下,不超过设计投资并尽可能地实现节约。
风险管理信息系统应当做到()。
下列哪些是我国宪法和法律规定的少年儿童享有的合法权利?()
“小端次序”的机器上,四字节数据1234.5678H按字节地址由小到大依次存在为()。
Excel中,清除单元格数据,可实现()。
下列程序段执行以后,内存变量y的值是( )。CLEARx=12345y=0DOWHILEx>0 y=y+x%10 x=int(x/10)ENDDO?Y
—It’sabird.—Idon’tknow______name.
最新回复
(
0
)