首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
给定程序MODI1.C中的函数Creatlink的功能是创建带头结点的单向链表,并为各结点数据域赋0到m-1的值。 请改正函数Crealink中指定部位的错误,使它能得出正确的结果。 注意:不要改动mam函数,不得增行或删行,也不得更改程序
给定程序MODI1.C中的函数Creatlink的功能是创建带头结点的单向链表,并为各结点数据域赋0到m-1的值。 请改正函数Crealink中指定部位的错误,使它能得出正确的结果。 注意:不要改动mam函数,不得增行或删行,也不得更改程序
admin
2018-09-27
68
问题
给定程序MODI1.C中的函数Creatlink的功能是创建带头结点的单向链表,并为各结点数据域赋0到m-1的值。
请改正函数Crealink中指定部位的错误,使它能得出正确的结果。
注意:不要改动mam函数,不得增行或删行,也不得更改程序的结构!
1 #include<stdio.h>
2 #include<stdlib.h>
3 typedef struct aa
4 { int datal
5 struct aa *next;
6 } NODE;
7 NODE *Creatlink(int n,int m)
8 {NODE *h=NULL,*p,*s;
9 int i;
10 /**********found**********/
11 p=(NODE)malloc(sizeof(NODE));
12 h=p;
13 p->next=NULL;
14 for(i=1;i<=n;i++)
15 {s=(NODE *)malloc(sizeof(NODE));
16 s->data=rand()%m;s->next=p->next;
17 p->next=s;p=p->next;
18 }
19 /**********found**********/
20 return p;
21 }
22 outlink(NODE *h)
23 { NODE *p;
24 p=h->next;
25 printf(’’\n\nTHE LIST:\n\n HEAD’’);
26 while(p)
27 {printf(’’->%d’’,p->data);
28 p=p->next;
29 }
30 printf(’’\n’’);}
31 main()
32 { NODE *head;
33 head=Creatlink(8,22);
34 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*)malloc(sizeof(NODE));”。
(2)第二个标识下,最后将单链表返回,应该是返回头指针h指向的链表,而不是其中的一个节点p,所以“return p;”应该改为“return h;”。
转载请注明原文地址:https://kaotiyun.com/show/x8xp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
能将高级语言程序转换成目标语言程序的是______。
概要设计是软件系统结构的总体设计,以下选项中不属于概要设计的是()。
有以下程序 main() {int x[3][2]={0},i; for(i=0;i<3;i++) scanf("%d",x[i]); printf("%3d%3d%3d\n",x[0]
有以下程序#include.<string.h>main(){char*p="abcde\ofghjik\0";printf("%d\n",strlen(p));}程序运行后的输出结果是
已知数据表A中每个元素距其最终位置不远,为节省时间,应采用的算法是
常采用的两种存储结构是()。
已知a所指的数组中有N个元素。。函数fun的功能是,将下标k(k>0)开始的后续元素全部向前移动一个位置填空。voidfun(inta[N],intk){inti:for(i=k;i
在面向对象的方法中,______描述的是具有相似属性与操作的一组对象。
要求使下列程序输出5个整数,请填空。for(i=0;i<=______;printf("%d\n",i+=2));
以下程序运行时,若从键盘输入:102030<回车>,输出的结果是【】。#include<stdio.h>main(){inti=0,j=0,k=0;scanf("%d%*d%d",&i,&j,&k);
随机试题
依据谈判信息载体的不同,可将信息分为()
A、Hewantstoknowhowtheconcertwas.B、Hedisagreeswiththewoman.C、Helikestoplaythepiano.D、Healsoenjoyedthemusic
Theargumentbetweenthetwopatientsbecamesofiercethatthedoctorhadto______.
切断家兔双侧颈迷走神经后,呼吸运动的改变是
(2009年第89题)下列选项中。不属化脓性关节炎特点的是
关于上述含聚山梨酯的乳剂型基质处方,说法错误的是选出处方中属于水相的成分
假神的病机是
历史模拟法的缺点是()。
【2014.山东淄博】一个几年来都在观看姐姐玩乒乓球的小男孩,可能在第一次玩乒乓球时就知道如何握拍、挥拍、击球时跑动。这一现象所支持的学习与学习理论是()。
平流层是大气层的最底层,同地球上的生物关系密切,该层空气上下对流强烈,因此形成了风、雨、雷、电、霜、冰雹等天气现象。()
最新回复
(
0
)