首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
给定程序MODll。C中的函数Creatlink的功能是创建带头结点的单向链表,并为各结点数据域赋0到m-1的值。 请改正函数Creatlink中指定部位的错误,使它能得出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改
给定程序MODll。C中的函数Creatlink的功能是创建带头结点的单向链表,并为各结点数据域赋0到m-1的值。 请改正函数Creatlink中指定部位的错误,使它能得出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改
admin
2013-04-02
35
问题
给定程序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);
}
选项
答案
p=(NODE *)malloc(sizeof(NODE)); return h;
解析
(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/0JJp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
有以下程序: #include <string.h> main() {char p[]={’a’,’b’,’c’},q[10]={’a’,’b’,’c’}; printf("%d%d\n",strlen(p),strlen(q)
有以下程序: main() {int a[]={2,4,6,8,10},y=0,x,*p; p=&a(1); for(x=1;x<3;x++) y+=p[x]; printf("%d\n",y); } 程序运行
设变量已正确定义,则以下能正确计算f=n!的程序段是 ______。
数据库设计的根本目标是要解决
以下程序中函数fun的功能是:构成—个如图所示的带头结点的单向链表,在结点的数据域中放入了具有两个字符的字符串。函数disp的功能是显示输出该单向链表中所有结点中的字符串。请填空完成函数disp。#include<stdio
以下程序的功能是输入任意整数给n后,输出n行由大写字母A开始构成的三角形字符阵列图形。例如,输入整数5时(注意:n不得大于10),程序运行结果如下:ABCDEFGHIJKLMNO
对如下二叉树进行后序遍历的结果为______。
若要求定义具有1O个int型元素的一维数组a,则以下定义语句中的错误的是______。
有以下函数 int fun(char *s) { char *t=s; while(*t++); return(t-s); } 该函数的功能是
随机试题
量杆式内径千分尺的分度值有0.01mm和0.001mm两种。
计算D=.
企业将多余的银行汇票余额转销,应()。
集体应当选择在两两对决中以简单多数胜出的议案,这种形式的选举规则被称为()。
某储户2002年5月1日存入银行定期存款1000元,存期一年,假设存入时该档次存款年利率为3%,该储户于2003年6月1日才支取这笔存款,若支取日挂牌公告的活期储蓄存款年利率为1.89%(不考虑利息税)。银行应支付该储户的利息总额为()。
下列关于素质教育的表述中,不正确的是()。
互利共赢开放战略,主要是在更好地促进中国自身发展的同时,兼顾各方特别是发展中国家的正当利益,切实承担起相应的国际责任。实施互利共赢的开放战略符合世界各国同舟共济的客观要求,确立互利共赢的思想基础是()。
联合国教科文组织将2008年定为“马铃薯年”,俗名“土豆”的马铃薯被联合国的专家们称为“隐藏的宝贝”。联合国用一种农作物命名一个年份,在历史上只出现过一次,就是2003年——国际水稻年。今年的主角为什么不是“玉米”、“苹果”,偏偏是土豆这个深埋地下、不起眼
提出将寺观庵堂改为书院和小学,实现在全国城乡人人都能受教育、人人都能尽其才的理想,学校必须将讲学与议政紧密结合,集讲学和议政于一身的教育思想家是()
若有以下程序段charstr[4][12]={"aa","bbb","ccccc","d"},*strp[4];inti;for(i=0;i<4;i++)strp[i]=str[i];不能正确引用字符串的选项是
最新回复
(
0
)