首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
公务员
#include #include struct List { int data; struct List*next; }; typedef struct List node; typedef no
#include #include struct List { int data; struct List*next; }; typedef struct List node; typedef no
admin
2013-12-15
76
问题
#include
#include
struct List
{
int data;
struct List*next;
};
typedef struct List node;
typedef node*link;
void main()
{
link ptr,head,tail;
int num,i;
tail=(link)malloc(sizeof(node));
tail一>next=(1):
ptr=tail;
printf("\nplease input data:\n");
for(i=0;i<=4;i++)
{
scanf("%d",(2)):
ptr->data=num;
head=(link)malloc(sizeof(node));
head一>next= (3) ;
ptr=head;
}
ptr=(4) ;
while(ptr!=NULL)
{
printf("the value is%d.\n",(5));
ptr=ptr一>next;
}
}
选项
答案
(1)NULL (2)&num (3)ptr (4)head一>next (5)ptr一>data
解析
本程序实现的功能是:利用尾插法创建一个包含5个数据结点的单链表,然后将这5个结点的数据输出。
程序一开始定义了一个结构体,即结点结构:
struct List
{
int data:
struct List*next:
};
由此可以看出,单链表的每个结点包含了一个数据域和一个指向后继结点的指针域。
在main函数中,首先创建一个结点,令尾指针指向该结点:tail=(link)malloc(sizeof(node));,由于后面第二句ptr=tail令工作指针指向尾结点,可知第一个空填NULL,即将尾结点的指针域置为NULL,tail一>next=NULL;。
for循环的作用是依次创建5个结点,并为这5个结点的数据域赋值。由ptr—>data=num;可知其前一句是用num变量保存输入的整数,则第二个空填&num,即scanf(’%d’,&num);。
由于头指针是指向第一个结点的,因此第三个空填入ptr,即head一>next=ptr;,令头指针一直指向第一个结点的地址。
最后用while循环输出链表中每个结点的数据值,因此在进入while循环之前令工作指针ptr指向第一个结点,即ptr=head一>next;,在输出结点数据值时,利用ptr一>data取当前指针指向的数据域即可,即printf("the value is%d.\n",ptr一>data);。
转载请注明原文地址:https://kaotiyun.com/show/w0al777K
本试题收录于:
计算机专业知识题库事业单位考试分类
0
计算机专业知识
事业单位考试
相关试题推荐
不具有结构性、系统性、简约性等特点的课程是()。
我国封建社会学校的教学内容主要是“四书”“五经”,其贯穿了儒家思想。下列选项不属于“四书”的是()。
我国人才培养的基本要求是()。
影响学生学习动机差异的关键因素是()。
()学习观和教学观深刻影响了世界范围内的教育改革,与程序教学运动、学科结构运动合称为20世纪三大教育运动。
语言、思维、记忆等发展都存在不同的关键期,这说明人的身心发展具有()。
下列对于“稳中求进”中“稳”与“进”辩证关系的理解不准确的是()。
党的十八大报告指出,加强社会建设,必须加快推进社会体制改革,加快形成()的社会管理机制。
关于计算机组合键应用说法正确的是()。
EIA-232定义了DTE-DCE接口的()特性。
随机试题
对于新人职员工以及在校学生应预扣预缴个税的规定,以下说法错误的是()。
A.酪氨酸酶缺乏B.6-磷酸葡萄糖脱氢酶分子缺陷C.苯丙氨酸羟化酶缺乏D.胆碱酯酶不可逆性抑制E.巯基酶不可逆性抑制蚕豆病
子宫颈癌的好发部位是
病灶定位在。最可能的病因是
依我国《刑事诉讼法》的有关规定,下列说法正确的是哪一项?()
关于贩卖毒品罪,下列说法错误的是:()
期间核查的目的是()。
中国半殖民地半封建社会开端于()。
茶叶因生长环境的差异而带有不同的味道,一些品茶专家根据多年的经验品一品便知茶叶的产区在哪里。这表明()。
2015年6月29日,《亚洲基础设施投资银行协定》签署仪式在北京人民大会堂举行。《亚洲基础设施投资银行协定》的签署,标志着
最新回复
(
0
)