首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
给定程序MODll.C中的函数Creatlink的功能是创建带头结点的单向链表,并为各结点数据域赋0到m-1的值。 请改正函数Creatlink中指定部位的错误,使它能得出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改
给定程序MODll.C中的函数Creatlink的功能是创建带头结点的单向链表,并为各结点数据域赋0到m-1的值。 请改正函数Creatlink中指定部位的错误,使它能得出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改
admin
2015-06-08
58
问题
给定程序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全国计算机二级
相关试题推荐
若要打开A盘中user子目录下名为aaa.txt的文本文件进行读、写操作,下面符合此要求的函数调用是()。
下面程序输出的结果是()。main(){intx=100,a=10,b=20,ok1=5,ok2=0;if(a<b)if(b!=15)if(!ok1)x=-i;elseif(ok2)x=1
下面程序的输出结果是()。#definePI3.1415#defineARE(X)PI*x*xmain(){intr=2;printf("%.2f",ARE(r+1));}
当执行下面的程序时,如果输入ABC,则输出的结果是()。#include<Stdlib.h>main(){charss[]="1,2,3,4,5";gets(ss);strcat(ss,"6789");pri
下面程序的输出是【】。main(){enumem{em1=3,em2=1,em3};char*aa[]={"AA","BB","CC","DD"};printf("%s%s%s\n",aa[em1],aa[e
假设在turboc2.0采用small模式编译如下程序main(){chara[4]={’a’,’b’};char*b="abc";printf("%d,%d",sizeof(A),sizeof(B));
下面程序的输出结果是______。main(){charstr[10],c=’a’;inti=0;for(;i<5;i++)str[i]=C++;printf("%s",str);}
有以下函数定义:voidfun(intn,doublex){……}若以下选项中的变量都已正确定义并赋值,则对函数fun正确调用语句是______。
在软件生命周期中,能准确地确定软件系统必须做什么和必须具备哪些功能的阶段是_______。
随机试题
用拼音写出下列句子(1)最近海淀区的打架斗殴案件有所减少。(2)那些资料在北京大学的档案馆中依然保仔完好。(3)我们在江汉平原开发区找到了满意的答案。(4)与玉门乡毗邻的印度边民偶尔也来这里做生意。
磺酸的特点是()。
China’s5000-meterOlympicChampionWangJunxiaissufferingfromaseriousconditionbroughtonbystressandherheavytraini
COPD患者,动脉血气分析示pH及标准重碳酸盐增高,而PaCO2>10.7kPa,则可能存在_____________。
支气管哮喘的内因责之于伏痰,与哪些脏腑功能失调有关
钢筋安装实测项目中,属于关键项目的是()。
下列哪一种垫层厚度不应小于80mm?[2011年第33题]
记账凭证核算程序的主要缺点在于保持科目之间的对应关系。 ( )
待执行合同是指合同各方尚未履行任何合同义务,或部分地履行了同等义务的合同。()
把文章的各个段落综合起来,把握其中心思想,这是思维的()过程。
最新回复
(
0
)