首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
如图所示:带有头结点的单向链表head,其三个数据结点A、B、C的连接关系见图。 结点类型的定义为: struct link { double dt; struct link *next; }; 若指针p指向A结点,在不改
如图所示:带有头结点的单向链表head,其三个数据结点A、B、C的连接关系见图。 结点类型的定义为: struct link { double dt; struct link *next; }; 若指针p指向A结点,在不改
admin
2022-04-01
109
问题
如图所示:带有头结点的单向链表head,其三个数据结点A、B、C的连接关系见图。
结点类型的定义为:
struct link
{
double dt;
struct link *next;
};
若指针p指向A结点,在不改变p指向的前提下,以下选项中不能访问C结点数据成员dt的表达式是( )。
选项
A、*(*P).next->next->dt
B、p->next->next->dt
C、(*(*(*p).next).next).dt
D、(*(P->next->next)).dt
答案
A
解析
link结构体中的next是链表中下一个结点的地址,由于p当前指向结点A,所以p->next是B的地址,p->next->next是C的地址,访问C的结点数据成员dt可以使用C的地址访问,即:p->next->next->dt,选项B正确;或者使用解引用“*”运算符,(*p)表示A结点,(*p).next表示B的地址,*((*p).next)表示结点B,(*((*p).next)).next表示C的地址,(*(*((*p).next)))表示结点C,所以C的数据成员dt可以表示为:(*(*((*p).next))).dt,选项C正确;同理,也可以既使用指针运算符,也使用解引用运算符来访问C的结点数据成员dt,即(*(p->next->next)).dt,选项D正确;选项A中,*p表示A结点,(*p).next表示结点B的地址,由于->运算符的优先级高于*运算符,所以先执行->,即表达式(*p).next->next->dt引用了C结点的数据成员dt,然后再执行解引用运算*,这是错误的,本题答案为A。
转载请注明原文地址:https://kaotiyun.com/show/V2kp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
以下程序依次把从终端输入的字符存放到f文件中,用捍作为结束输入的标志,则在横线处应填入的选项是#include<stdio.h>main(){FILE*fp;charch;fp=fopen("fname","w");while((ch=getc
关于子函数return语句的叙述中正确的是()。
有以下程序#includemain(){FILE*fp;inti,a[6]={1,2,3,4,5,6};fp=fopen("d2.dat","w+");for(i=0;i
有以下程序,程序运行后的输出结果是main(){intm=1,n=2,*p=&m,*q=&n,*r;r=p;p=q;q=r;printf("%d,%d,%d,%d\n",m,n,*p,*q);}
下列定义变量的语句中错误的是()。
以下选项中与iffa:1)a=b;elsea++;语句功能不同的switch语句是
若有定义语句:char*s1="OK",*s2="ok";以下选项中,能够输出"OK"的语句是
设有定义语句“int(*f)(int);”则下列叙述中正确的是()。
以下叙述中正确的是
有以下程序structS{inta,b;}data[2]={10,100,20,200};main(){structSp=data[1];printf("%d\n",++(p.a));}程序运行后的输出结果是
随机试题
选用单角铣刀铣削三面刃圆柱面直齿槽时,其端面刃与工件前刀面___________装入刀轴。
在Excel2010中,在单元格B2中输人数据“80”,在C2中输入字符“good”(均不含引号),在单元格D2中输入=IF(AND(B2>80,C2=”good”),B2+10,B2—10),则D2单元格中的结果为______。
[背景资料]下图为简支梁AB的受力图。该受力图中的约束反力肯定为正值。
承包人投标报价时,下列关于分部分项工程综合单价确定的描述中,正确的是()。
若施工过程中发现设计文件和图纸差错,施工企业的正确做法是()。
水泵按泵轴安装形式分为()。
简要概述消防车登高操作场地的检查方法的主要操作内容。
根据企业所得税法的规定,以下适用25%税率的是()。
某人持有盗版软件,但不知道该软件是盗版的,该软件的提供者不能证明其提供的复制品有合法来源。此情况下,则该软件的______应承担法律责任。
Australiaistheworld’slargestexporterof
最新回复
(
0
)