首页
题库
面试
求职
学习
竞赛
More+
所有博客
搜索面经/职位/试题/公司
搜索
我要招人
去企业版
登录 / 注册
首页
>
试题广场
>
若定义:char s[20]="programming",*
[单选题]
若定义:char s[20]="programming",*ps=s
;
则不能表示字符‘o’的是() 。
ps+2
s[2]
ps[2]
*(ps+2)
查看答案及解析
添加笔记
邀请回答
收藏(611)
分享
11个回答
添加回答
14
推荐
Jino.
选
A
。
A项
,ps为指针,
ps+2
为一个地址,因此不能表示字符
‘o’
。
B项和C项
,当ps为指针时,
ps[2]等价于s[2]
,表示的都是数组中的第3个元素。前者表示指针名称加下标引用元素,而后者表示数组名称加下标来引用元素。
因此B和C正确。
D项,*(ps+2),取到了ps[2]的值,因此为
‘o’。因此D正确。
编辑于 2019-12-17 14:24:21
回复(0)
55
白驹之过隙
选
A
。
根据题目得出:数组名s为字符数组的首地址,并且将ps指针指向数组的首地址。
A选项
,ps+2指针向后移动2个单位指向字符'o'的地址,并不是地址中的值。
所以A错误
。
B选项
,s[2]采用数组下标的方式表示,从0开始的字符,刚好是'o'
C选项
,ps[2]采用指针下标的方式表示,从0开始的字符,刚好是'o'
D选项
,对ps+2的地址进行取存放的值,刚好是'o'
发表于 2019-12-16 17:27:56
回复(0)
24
缓缓故人归
答案:
A
解析:
ps是指向字符串数组第一个元素的指针,指针是一个地址,因此ps+2仍然是一个地址,需要使用取值运算符 * 取出地址中的值才是 'o',因此,
A错D对
。
数组名 s 其实也是一个指向数组第一个元素的指针,因此 *ps=s 才得以合理,并由此 ps 和 s 指向了同一个元素,也就是数组的第一个元素。故 ps[2] 和 s[2] 是等价的,他们的值都是 'o',这里使用的是指针加下标得到地址中值的用法。
B对C对。
发表于 2019-12-16 14:55:10
回复(0)
5
母鸡起什么名字
a压根没有*,取不了值
发表于 2020-06-26 21:17:37
回复(0)
5
天尊墨宇
选
A
。
A项
,ps为指针,
ps+2
为一个地址,因此不能表示字符‘o’。
B项和C项
,当ps为指针时,
ps[2]等价于s[2]
,表示的都是数组中的第3个元素。前者表示指针名称加下标引用元素,而后者表示数组名称加下标来引用元素。
因此B和C正确。
D项,*(ps+2),取到了ps[2]的值,因此为‘o’。因此D正确。
发表于 2020-06-23 10:11:25
回复(0)
1
SINKLE
[]是地址访问运算符
发表于 2022-08-19 12:51:47
回复(0)
0
在冲浪的秋田犬很大胆
a表示字符“0”的地址
发表于 2023-06-29 18:34:12
回复(0)
0
wanzg
原来是取值,不是取地址
发表于 2023-04-11 10:37:41
回复(0)
0
牛客125437731号
指向o的地址
发表于 2023-03-23 14:26:12
回复(0)
0
牛客467036490号
求解
发表于 2022-09-12 11:39:02
回复(0)
0
牛客215432807号
A项的输出是ogramming,它是一个指针,指向o元素。
发表于 2020-04-03 20:41:03
回复(0)
这道题你会答吗?花几分钟告诉大家答案吧!
提交观点
问题信息
数组
上传者:
zsw3
难度:
11条回答
611收藏
4596浏览
热门推荐
相关试题
假定一个待哈希存储的线性表为(32...
哈希
评论
(1)
5.下列判断正确的是( )
资料分析
言语理解与表达
资料分析
评论
(1)
《拳皇97》最后BOSS是谁?
游戏常识
评论
(1)
《魔兽世界》中,下列不属于玩家可以...
游戏常识
评论
(1)
你有没有崇拜的偶像,你欣赏他/她身...
通用能力
评论
(1)
扫描二维码,关注牛客网
意见反馈
下载牛客APP,随时随地刷题