首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有以下程序 #include <stdio.h> struct tt { int x; struct tt *y; } s[3]={ 1,0,2,0,3,0}; main( ) { struct tt *p=s+1; p->y=s;
有以下程序 #include <stdio.h> struct tt { int x; struct tt *y; } s[3]={ 1,0,2,0,3,0}; main( ) { struct tt *p=s+1; p->y=s;
admin
2021-02-25
31
问题
有以下程序
#include <stdio.h>
struct tt
{ int x; struct tt *y; } s[3]={ 1,0,2,0,3,0};
main( )
{ struct tt *p=s+1;
p->y=s;
printf("%d,",p->x);
p=p->y;
printf("%d\n",p->x);
}
程序运行后的输出结果是
选项
A、2,3
B、2,1
C、1,2
D、3,1
答案
B
解析
结构体tt是一个递归定义,类似于链表,通过成员变量y链接起来。p=s+1指向s[1]。p->y指向s[2],但现在p->y=s,因此s[2]=s[0],此时s[]={1.0,2.0,1.0},而p在s[1]位置,因此p->x为2,p=p->y,p指向s[2],因此p->x=1,故打印结果为2,1。答案为B选项。
转载请注明原文地址:https://jikaoti.com/ti/n6z0FFFM
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
若有以下程序#includechar*a="you",b[]="welcome#you#to=#China!”;main(){inti,j=0;char*p;for(i=0;b[i]!=’\0’;i++)
以下选项中不能作为C语言合法常量的是
下列叙述中正确的是
有以下程序段:#includeintj;floaty;charname[50];scanf("%2d%f%s",&j,&y,name);当执行上述程序段,从键盘上输入555667777abc后,y的值为()。
设有定义:intx=2;以下表达式中,值不为6的是()。
以下叙述中错误的是
若程序中有宏定义行:#defineN100则以下叙述中正确的是
若有定义语句:inta[2][3],*p[3];则以下语句中正确的是
有如下嵌套的if语句if(a<b)if(a<c)k=a;elsek=c;elseif(b<c)k=b;elsek=c;以下选项中与上述if语句等价的语句是
若有定义和语句:inta,b;scanf("%d,%d,",&a,&B);以下选项中的输入数据,不能把值3赋给变量a、5赋给变量b的是
随机试题
实在道德规则(奥斯丁)
A.急性肝炎B.肝淤血C.肝硬化D.脂肪肝E.右下肺不张肝明显大,肝颈回流征阳性
使用增感屏可使
A.碘量法B.三点校正法C.GCD.非水滴定法E.紫外分光光度吸收系数法
利率消毒的假设条件是市场利率期限结构是( )。
理解马克思主义政治经济学的枢纽是
在使用向导创建交叉表查询时,用户需要指定______种字段。
Whatisthemainpurposeofthetalk?
Thereareabout105malesbornforevery100females,butthis(36)______dropstonearbalanceattheageofmaturity,andamon
A、Itsskeleton.B、Itsshape.C、Itssenses.D、Itsbodytemperature.B
最新回复
(
0
)