首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有以下程序 point(char *p) { p+=3; } main() { char b[4]={’a’.’b’,’c’,’d’}, *p=b; point(p); printf("%c\n",*p)
有以下程序 point(char *p) { p+=3; } main() { char b[4]={’a’.’b’,’c’,’d’}, *p=b; point(p); printf("%c\n",*p)
admin
2009-01-15
71
问题
有以下程序 point(char *p) { p+=3; } main() { char b[4]={’a’.’b’,’c’,’d’}, *p=b; point(p); printf("%c\n",*p); } 程序运行后的输出结果是
选项
A、a
B、b
C、c
D、d
答案
1
解析
本题是一个陷阱,看似考查函数的传址调用,其实考的是传值调用。在C语言中,不管你给函数传递的参数是什么,指针也好数组名也罢,系统都是严格的将实参的值复制了一份作为函数的形参, 即传值调用。在函数中,对形参中的值怎么改变都不会影响到实参。那传址调用又是怎么实现的呢?那是因为在函数中改变的不是形参指针变量中的值,而是形参指针变量所指内存中的值。其实骨子里还是将实参指针的值复制?一份给形参指针变量,它们是两个独立的互不相干的变量,只不过指向的内存地址值一模一样罢了。本题的函数只是改变了形参指针变量p的值,这对程序没有任何影响,主函数中p一开始就是指向 b[0],最后输出时还是b[0]的值’a’。所以应该选择A。
转载请注明原文地址:https://kaotiyun.com/show/sdHp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
请根据以下各小题的要求设计VisualBasic应用程序(包括界面和代码)。在名称为Form1的窗体上画一个命令按钮,其名称为C1,标题为“转换”;然后再画两个文本框,其名称分别为Text1和Text2,初始内容均为空白,编写适当的事件过程。程序运行
请根据以下各小题的要求设计VisualBasic应用程序(包括界面和代码)。在名称为Form1的窗体上画一个文本框,其名称为T1,宽度和高度分别为1400、400;再画两个命令按钮,其名称分别为C1和C2,标题分别为“显示”和“扩大”,编写适当的事件
以下叙述中错误的是()。
下列说法中,错误的是
下面关于标准模块的叙述中错误的是
为了将“联想电脑”作为数据项添加到列表框List1的最前面,可以使用语句
设有如下数组定义语句:Dima(一1To4,3)AsInteger以下叙述中正确的是
算法的空间复杂度是指()。
在数据库系统的内部结构体系中,索引属于()。
在数据库系统的内部结构体系中,索引属于()。
随机试题
对人的精子的叙述,正确的是()。
实践之所以高于理论,是由于实践具有()。
易发生冻结的药品有易氧化的药品有
在房地产营销中,房地产经纪人对()分析来确定应采取的营销方式。
重金属中纯镍是银白色的金属,不属于其特性的是()。
《商业银行房地产贷款风险管理指引》规定,商业银行应根据各地市场情况的不同制订合理的贷款成数上限,但所有住房贷款的贷款成数不超过()。
Killingasoldierremovesoneenemyfromthebattle.Woundinghimremovesthree:thevictimandthetwowhohavetocarryhimfr
Menhavedistinguishedthemselvesfromotheranimals,andindoingsosecuredtheirsurvivalbytheabilitytoobserveand
DoctorAdamsexplainedthatnotallbacteriaharmful.
A、Becausepeoplearefreeinsummer.B、Becausethisisatraditionalfestival.C、Becausesummeristhetimeforoutdoormusicfe
最新回复
(
0
)