首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
若以下定义: struct link { int data; struct link *next; }a,b,C,*p,*q; 且变量a和b之间已有下图所示的链表结构。 指针p指向
若以下定义: struct link { int data; struct link *next; }a,b,C,*p,*q; 且变量a和b之间已有下图所示的链表结构。 指针p指向
admin
2010-03-29
36
问题
若以下定义: struct link { int data; struct link *next; }a,b,C,*p,*q; 且变量a和b之间已有下图所示的链表结构。
指针p指向变量a,q指向变量c,则能够把c插入到a和b之间并形成新的链表的语句组是( )。
选项
A、a.next=c;c.next=b;
B、p.next=q;q.next=p.next;
C、q->next=p->next;p->next=&c;
D、(*p).next=c;(*q).next=b;
答案
4
解析
本题考核结构型指针的应用。当指针所指向的变量的类型为结构类型时,这个指针就是结构指针。题中定义了p和q为结构指针。当访问由指针所指向的结构的元素时,用箭头“->”运算符实现这个操作。分析各选项:
选项A中,语句“a.next=c;c.next=b;”的赋值有问题,因为结构成员next为结构型指针,而变量c和b只是结构变量,不是地址值,所以达不到题目要求。
选项B中,执行语句“p.next=q;q.next=p.next;”后,只是把a点和c点双向连接起来了,并不能把c插入到a和b之间,形成新的链表。
选项C中,先让c的后趋节点指向a的后趋节点b,再使a的后趋节点指向c。
这样就完成了把c插入到a和b并形成新的链表的功能。所以选项C中的语句可完成题目所属功能。
选项D中,(*p).next与(*q).next都是指针型变量,而赋值语句的右值c和b只是结构型变量,所以此语句不能达到题目要求的目的。
转载请注明原文地址:https://jikaoti.com/ti/4iW0FFFM
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
以下关于字符串的叙述中正确的是
软件生命周期中,确定软件系统要做什么的阶段是()。
有以下程序#includevoidmain(){intn=2,k=-1;while(!(k>0‖n++));printf("%d%d\n",k,n);}程序运行后的输出结果是(
运行下面的程序,输入字符串“MicrosoftVisualStudio”,则程序的执行结果是()。#include<stdio.h>main(){charChr[20];scanf("%s",&Chr);printf("%s\n",
规定输入的字符串中只包含字母和*号。请编写函数fun,其功能是:除了字符串前导的*号之外,将串中其他*号全部删除。在编写函数时,不得使用C语言提供的字符串函数。例如,字符串中的内容为:“****A*BC*DEF*G*******”,删除后,字符串中的内容
以下程序中函数f的功能是:当flag为1时,进行由小到大排序;当flag为0时,进行由大到小排序。#include<stdio.h>voidf(intb[],intn,intflag){inti,j,t;for(i=0;i<n-1;i+
若有定义语句:doublex[5]={1.0,2.0,3.0,4.0,5.0},*p=x,则错误引用x数组元素的是()。
下列叙述中错误的是()。
若有定义intx,y;并已正确给变量赋值,则下列选项中与表达A(x—y)?(x++):(y++)中的条件表达式(x—y)等价的是()。
数据管理技术发展的三个阶段中,()没有专门的软件对数据进行管理。Ⅰ.人工管理阶段Ⅱ.文件系统阶段Ⅲ.数据库阶段
随机试题
下面四种战略获得高额利润的机会最大的是()
在直流电场中进行的免疫双扩散技术称为
煮沸灭菌法对一般细菌的杀灭时间是
从事种植业、林业、畜牧业、渔业生产,土地承包经营期限为()年。
从2003年4月以来()专门从事银行监管职能。
瑞蚨祥被评为中国商业服务品牌、中国商业名牌企业()
下列有关收入类账户的表述,正确的有()。
我国古代学校产生的历史条件是什么?
已知A与B相似,其中B=,则|A—E|=__________.
Whatdoesthemanmean?
最新回复
(
0
)