首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
给定程序MODll.C中的函数Creatlink的功能是创建带头结点的单向链表,并为各结点数据域赋0到m-1的值。 请改正函数Creatlink中指定部位的错误,使它能得出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改
给定程序MODll.C中的函数Creatlink的功能是创建带头结点的单向链表,并为各结点数据域赋0到m-1的值。 请改正函数Creatlink中指定部位的错误,使它能得出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改
admin
2015-06-08
79
问题
给定程序MODll.C中的函数Creatlink的功能是创建带头结点的单向链表,并为各结点数据域赋0到m-1的值。
请改正函数Creatlink中指定部位的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
#include
#include
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)
{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 *)mslloc(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,所以“returnp;”应该改为“retum h;”。
转载请注明原文地址:https://kaotiyun.com/show/PiJp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
当执行下面的程序时,如果输入ABC,则输出的结果是()。#include<Stdlib.h>main(){charss[]="1,2,3,4,5";gets(ss);strcat(ss,"6789");pri
C语言中,函数值类型的定义可以默认,此时函数值的隐含类型是()。
C语言中各种基本数据类型的存储空间长度排列为()。
有以下定义和语句,则sizeof(A)的值是【】,而sizeof(a.share)的值是【】。structdate{intday;intmouth;intyear;
下面程序运行后的输出结果是______。structabc{inta,b,c;}main(){structabcs[2]={{1,2,3},{4,5,6}};intt=-s[0].a
有如下程序段:#include<stdio.h>#defineMax(a,B)a>b?a:bmain(){inta=5,b=6,c=4,d;d=c+Max(a,B);printf("%d",D
有如下程序intfunc(inta,intB){return(a+B);}main(){intx=2,y=5,z=8,r;r=func(func(x,y),z);prin
能正确表示逻辑关系""a≥10或a≤0""的C语言表达式是______。
阅读以下函数:fun(char*s1,char*s2){inti=0;while(s1[i]==s2[i]&&s2[i]!=’\0’)i++;return(s1[i]==&&s2{i)!==’\0’)
以下不能正确定义二维数组的选项是()。
随机试题
《联合国宪章》规定:“凡非程序性议案,必须得到安理会15个理事国中至少9票以上赞成,并且5个常任理事国中没有一国投反对票才能通过。”关于常任理事国的否决权,体现了【】
成熟红细胞所需能源,主要由下述哪个途径提供
患者,男,54岁,诊断为急性胰腺炎,经治疗后腹痛、呕吐基本消失,开始饮食宜采用()。
既具有吞噬杀菌作用,又具有抗原加工提呈作用的细胞是
患者男,22岁。因急起全身不适,恶心,呕吐4个小时入院。患者呻吟不止,自述全身疼痛难忍,视物模糊。呈急性痛苦面容,坐立不安,躯体扭曲、颤抖,双手抱胸,流泪流涕,讲话口齿欠清,出汗较多,患者反复哀求医务人员给予止痛药物。患者经过一周的治疗,上述症状基本消
以上边缘类型中强度最差的是
A.有效性B.均一性C.安全性D.稳定性能满足治疗疾病的要求体现药品的
判断一个企业组织分权程度的主要依据是()。
下列关于工程咨询投标技术建议书附件中通常不包括()。
衡量基金绩效应考虑的因素包括()。
最新回复
(
0
)