首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
下列给定程序中,函数fun的功能是:统计带头结点的单向链表中结点的个数,并存放在形参n所指的存储单元中。 请在程序的下画线处填入正确的内容并将下画线删除,使程序得出正确的结果。 注意:部分源程序给出如下。 不得增行或删行,也不得更改
下列给定程序中,函数fun的功能是:统计带头结点的单向链表中结点的个数,并存放在形参n所指的存储单元中。 请在程序的下画线处填入正确的内容并将下画线删除,使程序得出正确的结果。 注意:部分源程序给出如下。 不得增行或删行,也不得更改
admin
2017-09-23
59
问题
下列给定程序中,函数fun的功能是:统计带头结点的单向链表中结点的个数,并存放在形参n所指的存储单元中。
请在程序的下画线处填入正确的内容并将下画线删除,使程序得出正确的结果。
注意:部分源程序给出如下。
不得增行或删行,也不得更改程序的结构!
试题程序:
#include < stdio.h >
#include < stdlib.h >
#defihe N 8
typedef struct list
{ int data;
struct list* next;
}SLIST;
SLIST*creatlist(int* a);
void outlist(SLIST*);
void fun(SLIST*h,int*n)
{ SLIST*p;
/*********found*********/
【1】
=0;
p=h一 >next;
while(p)
{ (*n)++;
/*********found*********/
p=p一 >
【2】
;
}
}
main()
{ SLIST* head;
int a[N]={12,87,4 5,32,91,16,20,48),num;
head=creatlist(a);
outlist(head);
/*********found*********/
fun(
【3】
,&num);
printf("\nnumber=%d\n",num);
}
SLIST* creatlist(int a[])
{ SLIST *h,*p,*q; int i;
h=P=(SLIST*)malloc(sizeof(SLIST));
for(i=0;i < N;i++)
{ q=(SLIST*)malloc(sizeof(SLIST));
q一 >data=a
;p一 >
next=q;
p=q;
}
p一 >next=0;
return h;
}
void outlist(SLIST* h)
{ SLIST*p;
P=h一 >next;
if(P==NULL)
printf("The list is NULL!\n");
else
{printf("\nHead");
do
{printf("一 >%d",p一 >
data);
p=p一 >next;}
while(P!=NULL);
printf("一 >End\n");
}
}
选项
答案
(1)*n (2)next (3)head
解析
本题考查:变量赋初值操作;链表结点的数据域和指针域表示方法;函数调用。
填空1:*n用来存放结点的个数,对其赋初值为0。
填空2:while循环用于遍历链表,循环一次,指针指向链表的下一个结点。
填空3:根据函数定义语句确定调用函数的实际参数,即fun( head,&num);。
转载请注明原文地址:https://kaotiyun.com/show/0sxp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
下面程序将二维数组a的行和列元素互换后存放到另一个二维数组b中,请填空。main(){inta[2][3]={{1,2,3},{4,5}},b[3][2],i,j;for(i=0;i<2;i++){for(j=0;j<3;j++)
下面程序的输出结果是()。#include<stdio.h>main(){inta[]={1,2,3,4,5,6,7,8,7,10},*p;p=a;printf("%d\n",*p+8);}
数字字符0的ASCII值为48,运行下列程序的输出结果是()。main(){chara=’1’,b=’2’;printf("%c,",b++);printf("%d\n",b-A);}
下列程序的运行结果是()。#include<stdio.h>voidsub(int*s,int*y){staticintm=4;*y=s[0];m++;}voidmain(){
可在C程序中用作用户标识符的一组标识符是()。
变量a中的数据用二进制表示的形式是01011101,变量b中的数据用二进制表示的形式是11110000。若要求将a的高4位取反,低4位不变,所要执行的运算是()。
“printf("%d\n",strlen("\t\"\023\xAB\nC"));”语句的输出结果是()。
以下程序用于判断a、b、c能否构成三角形,若能,输出YES,否则输出NO。当给a、b、c输入三角形三条边长时,确定a、b、c能构成三角形的条件是需同时满足三个条件:a+b>c,a+c>b,b+c>a。请填空。main(){floata,b
在两种基本测试方法中,____________测试的原则之一是保证所测模块中每一个独立路径至少执行一次。
在int(*prt)[3];定义中,标识符prt()。
随机试题
下列诗歌属于汉乐府古题的是()
关于家庭治疗三角,以下说法正确的是
房地产抵押权是一种担保债权。()[2007年考题]
城市道路交叉口间距为()m。
在合同没有约定的情况下,发包人拖欠承包人工程款的,除应支付本金外,还应按照()的标准支付利息。
()是商品基金的主要管理人,是基金的设计者和运作的决策者。
运输企业位于市区,为增值税一般纳税人。2018年6月发生如下业务:(1)为某企业运输一批原材料,取得不含税货运收入80万元、装卸收入5万元、仓储保管费3万元,上述收入均开具了增值税专用发票,且各项收入予以分别核算。(2)与甲运输企业(增值税一般纳税人)
随着项目进展,项目利益相关者对项目的影响________。
Onedayapoliceofficermanagedtogetsomefreshmushrooms.Hewasso【C1】______whathehadboughtthatheofferedto【C2】______
生活在移动互联网时代,大学生们已然离不开网络。一些颇具创新力的学生从微博(microblog)和微信(WeChat)中看到了商机。桂林一所大学的三名学生注册了一个微信送餐账号。现在他们每天处理2000多份订单,给同学们的生活带来了许多便利。更多的学生选择了
最新回复
(
0
)