首页
题库
面试
求职
学习
竞赛
More+
所有博客
搜索面经/职位/试题/公司
搜索
我要招人
去企业版
登录 / 注册
首页
>
试题广场
>
若有“ float a[3]={1.5,2.5,3.5},*
[单选题]
若有“
float a[3]={1.5,2.5,3.5},*pa=a;*(pa++)*=3;
”,则
*pa
的值是()。
1.5
2.5
3.5
4.5
查看正确选项
添加笔记
求解答(17)
邀请回答
收藏(630)
分享
11个回答
添加回答
62
鸟魂灵
*pa=a;指针pa指向a[0];
pa++;pa++和++pa的区别知道吧,返回值仍是pa操作之前的值;
*(pa++)取pa只想的地址的值;
*(pa++)*=3;将该值变为原来的3倍,也就是数组a的第一个值为4.5;
由于pa++之后pa指针移动了size(float)个字节,所以pa指向a[1],所以值为2.5。
发表于 2017-10-09 20:53:04
回复(2)
13
拿到offer崽改名
*(pa++) *= 3
1)*pa *= 3,此时pa指向a[0],a[0] = 4.5
2)pa++,此时pa指向a[1],*pa = a[1] = 2.5。
发表于 2022-01-06 11:24:24
回复(1)
7
龙成
pa[0]变了 pa[1]没有变过
发表于 2022-04-12 13:51:56
回复(0)
4
w\q
*pa=a,pa是指针,指向是a[0],pa++,后加加,先是(*pa)*=3;等价于a[0]=3,后指针后移,pa指向a[1]
发表于 2017-07-25 22:34:05
回复(0)
3
皮卡丘不会打游戏
这道题考pa++和++pa的区别。pa++是先取pa的值,然后再++。++pa是先++,再取pa的值。
发表于 2020-02-25 07:43:39
回复(0)
2
Young6
定义了一个浮点型指针,并且指向a[0],先执行*(pa)*=3的操作,即*pa=(*pa)*3,此操作后a[0]变成4.5,然后执行pa++,即把指针向后移一个位置,此时指针pa指向a[1],即最后的结果应该是取a[1]的值,为2.5
发表于 2022-05-05 15:03:41
回复(0)
1
SAFELANDING_nk
pa++为后操作 执行完后首项为4.5 然后pa指向第二项 即为2.5
发表于 2022-03-01 15:28:16
回复(0)
0
已老实求放过wuwuwu
这种题目纯油饼,有必要这样坑嘛
发表于 2024-07-27 09:58:10
回复(0)
0
想奋斗的王老五刷了100道题
前置加加和后置++的区别 后置加加 先用自+ 所以*(pa++)*= 3 -》 *(pa)* = 3 和 pa = pa + 1;
编辑于 2024-01-22 20:32:59
回复(0)
0
山高梅大川
***一下子把解题思维看成了模电题,其实就是一个自加赋值给自己的问题,*pa=a;是把数组地址赋值给指针pa,pa++,则是地址加一个float位数,则此时的*pa则指向a[1]
发表于 2023-09-10 21:51:54
回复(0)
0
草木の灰
问的是*pa的值,pa在赋值以后不再指向第0个,而是第1个。
发表于 2021-03-09 09:57:45
回复(0)
这道题你会答吗?花几分钟告诉大家答案吧!
提交观点
问题信息
C语言
上传者:
蜡蜡
难度:
11条回答
630收藏
1679浏览
热门推荐
相关试题
class A; class B;...
360集团
C++
C语言
评论
(18)
来自
360公司2014校招笔试卷
假定指针变量 p 定义为 “int...
360集团
C++
C语言
评论
(37)
来自
360公司2014校招笔试卷
DHCP的报文交互过程
计算机网络基础
评论
(1)
下列选项属于HTML5新特性的是()
HTML
评论
(1)
自动管理停车场桩位系统
评论
(1)
扫描二维码,关注牛客网
意见反馈
下载牛客APP,随时随地刷题