首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
给定程序MODI1.C中的函数Creatlink的功能是创建带头结点的单向链表,并为各结点数据域赋0到m-1的值。 请改正函数Crealink中指定部位的错误,使它能得出正确的结果。 注意:不要改动mam函数,不得增行或删行,也不得更改程序
给定程序MODI1.C中的函数Creatlink的功能是创建带头结点的单向链表,并为各结点数据域赋0到m-1的值。 请改正函数Crealink中指定部位的错误,使它能得出正确的结果。 注意:不要改动mam函数,不得增行或删行,也不得更改程序
admin
2018-09-27
35
问题
给定程序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://jikaoti.com/ti/aAa0FFFM
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
以下程序运行后的输出结果是______。main(){intx=0210;printf("%x\n",x);}
概要设计是软件系统结构的总体设计,以下选项中不属于概要设计的是()。
以下程序的功能是将字符串s中所有小写字母’a’删去,请填空。#include<stdio.h>main(){chars[]="absuWWUDJFKFLaaakdK";inti,j;for(i=j=0;s[i]!=
有以下程序 main() {char s[]={"aeiou"},*ps; ps=s; printf("%c\n",*ps+4); } 程序运行后输出的结果是______。
若运行以下程序时,从键盘输入ADescriptor<CR>(<CR>表示回车),则下面程序的运行结果是()。#include<stdio.h>main(){charc;intv0=1,v1=0,v2=0;do
有以下程序段: typedef struct NODE {int num; struct NODE *next; }OLD; 以下叙述中正确的是 ______。
在表示C语言的整型变量时,表示“无符号整型”的符号是()
若各选项中所用变量已正确定义,fun()函数中通过return语句返回一个函数值,下列选项中错误的程序是()。
对于长度为n的顺序存储的线性表,当随机插入和删除一个元素时,需平均移动元素的个数为【】。
Jackson结构化程序设计方法是英国的M.Jackson提出的,它是一种面向【】的设计方法。
随机试题
工业上实际意义的热辐射波长在()之间。
男,20岁。一日前左上中切牙外伤。检查患牙冠折露髓.叩痛(+).不松动,冷测一过性敏感,X线片检查未见根折。治疗应为()
市场利率下跌,债券价格上升。()
某商品流通企业2010年度有关财务报表主要资料整理如下表所示:该公司2010年的销售净利率为()。
某出票人签发了一张票面金额为19000元的空头支票,根据有关规定,银行应予以退票,并对出票人至少处以罚款()
巴比松画派
小黄作为一名新的基层公务员,很快得到领导赏识。可是小黄从同事口中听到老张在背后议论他。说他有领导做后台。小黄感觉很委屈,这时领导安排小黄和老张共同完成一项工作,如果你是小黄。你会怎么办?
下列有关行动动一环节的表述,正确的是()。
Youwillhearadiscussionbetweentwomanagers,KathyandDuncan,whoworkintheHumanResourcesdepartmentofacompany.For
Apaper,Anatomy(剖析)ofaLarge,ScaleSocialSearchEngine,layingoutastrategyforsocialsearchhasbeengettingagooddeal
最新回复
(
0
)