首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
给定程序MODI1.C中的函数Creatlink的功能是创建带头结点的单向链表,并为各结点数据域赋0到m-1的值。 请改正函数Creatlink中指定部位的错误,使它能得出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构! #
给定程序MODI1.C中的函数Creatlink的功能是创建带头结点的单向链表,并为各结点数据域赋0到m-1的值。 请改正函数Creatlink中指定部位的错误,使它能得出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构! #
admin
2019-09-02
36
问题
给定程序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全国计算机二级
相关试题推荐
程序通过定义学生结构体变量,存储了学生的学号、姓名和3门课的成绩。所有学生数据均以二进制方式输出到文件中。函数fun的功能是从形参filename所指的文件中读入学生数据,并按照学号从小到大排序后,再用二进制方式把排序后的学生数据输出到filename所指
下列选项中不属于面向对象程序设计特征的是
下列排序方法中,最坏情况下比较次数最少的是
以下选项中不能用作C程序合法常量的是
下面不属于软件工程过程的4种基本活动
下面选项中合法的字符常量是
若有定义语句charc=’\101’;则变量C在内存中占
若以下选项中变量全部为整型变量,且己正确定义并赋值,则语法正确的switch语句是
关于C语言标识符,以下叙述错误的是()。
在软件开发中,需求分析阶段产生的主要文档是()。
随机试题
患儿8岁,患急性淋巴细胞白血病已2年,应用激素和抗肿瘤治疗,近日有发热,体温高达40℃,神萎,皮肤可见散在丘疹、疱疹,疱内液色清。从临床上考虑有可能发生了哪种疾病
中性点非直接接地系统中35/10kV变电站,选择变压器中性点的阀型避雷器的参数。灭弧电压应大于()。
下列各选项中说法正确的有()。
铁路会让站和越行站的间距一般为()km。
某公司按照规定转销确实无法支付的应付账款10000元,下列会计分录中,正确的是()。
Asateenager,you’retryingtolearnwhoyouare.You’regoingthroughmentalandphysicalchanges.You’redealingwithdiffere
现在,在黄金领域进行投资将是一项有利可图的商业活动。《中国黄金》杂志的一项调查表明,该杂志读者中有88%的人正在计划最近购买一批金条,而对于黄金投资市场的研究显示,目前每年推出的金条购赎业务只能满足购买需求的70%。下面哪项如果为真,最能对上文投资
阅读下面文字,完成下列问题。科学劳动是社会劳动的一般劳动。这种劳动,既取决于今人的协作,又取决于前人的劳动成果。不论古人的还是今人的劳动成果,都表现为一定形式的知识(如图书和情报)。这些知识在进入新的科学劳动中,都是以科学劳动资料的形式出现的。科学
窗体上有名称分别为Text1、Text2的文本框,名称为Command1的命令按钮。运行程序,在Text1中输入“FormList”,然后单击命令按钮,执行如下程序:PrivateSubCommand1_Click()Text2.T
B
最新回复
(
0
)