首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有以下程序段: struct st{int x; int *y; } *pt;int a[]={1,2}, b[]={3,4};struct st c[2]={10,a,20,b};pt=c; 以下选项中表达式的值为11的是( )。
有以下程序段: struct st{int x; int *y; } *pt;int a[]={1,2}, b[]={3,4};struct st c[2]={10,a,20,b};pt=c; 以下选项中表达式的值为11的是( )。
admin
2009-01-15
37
问题
有以下程序段: struct st{int x; int *y; } *pt;int a[]={1,2}, b[]={3,4};struct st c[2]={10,a,20,b};pt=c; 以下选项中表达式的值为11的是( )。
选项
A、*pt->y
B、pt->x
C、++pt->x
D、(pt++)->x
答案
4
解析
要计算一个复杂的表达式时,首先要弄明白表达式中所有运算符的优先级与结合性,本题中所涉及的运算符中,->的优先级最高,*和++的优先级相同,但其结合性为从右至左。所以选项 A等价于*pt->y)也就是pt所指向的结构体的成员指针变量y所指向的内容。从前面的程序段不难看出, pt指向结构体数组c的首地址,也就是指向它的第1个元素,在它的第1个元素中,指针变量y又被初始化为指向控型数组a的首地址,即指向数组a的第1个元素。故选项A中的表达式的值为a[0],也就是1。选项B中表达式的值就是c[0].x,即10。根据优先级和结合性,选项C中的表达式等价于++(pt->x),由于是前缀++,所以整个表达式的值为pt->x的值加1,故为11。而选项D中,++是后缀形式,所以(pt++)的值还是pt的原值,即等于pt->x的值10。故应该选择C。
转载请注明原文地址:https://jikaoti.com/ti/qOK0FFFM
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
程序流程图中带有箭头的线段表示的是()。
在窗体上有一个名称为Command1的命令按钮,并编写有如下事件过程:PrivateSubCommand1_Click()Move500,500EndSub程序执行时,单击命令按钮,实现的功能是()。
以下关于通用对话框的叙述中,错误的是( )。
8.6787E+8写成普通的十进制数是()。
InputBox函数返回值的类型为()。
下列选项中,不属于数据模型所描述的内容的是()。
在面向对象方法中,不属于"对象"基本特点的是( )。
设有表示学生选课的三张表,学生S(学号,姓名,性别,年龄,身份证号),课程C(课号,课名),选课SC(学号,课号,成绩),则表SC的关键字(键或码)为()。
某二叉树的前序序列为ABCDEFG,中序序列为DCBAEFG,则该二叉树的深度(根结点在第1层)为()。
在标准模块中用Public关键字定义的变量,其作用域为
随机试题
使用利尿剂治疗心力衰竭,下列哪项是错误的
(2003年第50题)关于阵发性夜间呼吸困难发生的可能机制,下列哪一项是错误的
金黄色葡萄球菌肺炎患儿突然出现呼吸用难、憋气。首先应考虑
体液pH对药物跨膜转运影响,正确的描述是
A.乳化剂B.助悬剂C.防腐剂D.抗氧剂E.矫味剂制备醋酸可的松滴眼液时,加入的亚硫酸氢钠是作为()。
(2004年)中国山东某公司于2003年6月14日收到甲国某公司来电称:“×××设备3560台,每台270美元CIF青岛,7月甲国×××港装船,不可撤销即期信用证支付,2003年6月22日前复到有效。”中国山东公司于2003年6月17日复电:“若单价为24
小麦和玉米均可用作食品加工及饲料,不能进行跨品种套利。()
从符号化到数字化,信息在人类进化和文明发展中的重要性毋庸置疑。如果说符号化产生了知识的“宝库”,那么作为数字化的产物,大数据将成为人类的“超级矿藏”,其资源性、基础性与战略性的价值已经______。为应对大数据时代的到来,国际竞争正在悄然展开。
某程序设计语言规定在源程序中的数据都必须具有类型,然而,______并不是做出此规定的理由。
Whichofthefollowingstatementsistrue?
最新回复
(
0
)