为了账号安全,请及时绑定邮箱和手机立即绑定

关于练习题有一些问题

若有以下数组定义,int arr[]={5,4,3,2,1},i=4;则下面对arr数组中的元素引用不正确的是(C)

A arr[--i]  B arr[2*2]  C arr[arr[0]]  D arr[arr[i]

BC我都明白,

第一个问题是,大神解释一下A选项中的arr[--i]是什么意思,为什么解析中--i=3?

第二个问题是,D选项中,arr[i]=arr[4]=1,arr[arr[i]]=arr[1]=4才对,可解析中给的arr[1]=5,明明是arr[0]=5才对啊!是不是解析错了?http://img1.sycdn.imooc.com//59a1386b0001327e02130138.jpg

正在回答

3 回答

A选项   --i 是先将i减去1在计算  所以就是arr[3]  即第四个元素 2  正确

D选项  首先看内层arr[i]=arr[4]=1,然后就是arr[1]=2 即第二个元素4  正确

0 回复 有任何疑惑可以回复我~
#1

centrifugeSIW 提问者

非常感谢!解析写错了
2017-09-26 回复 有任何疑惑可以回复我~

arr[1]=4  写错了 写成2了  尴尬

0 回复 有任何疑惑可以回复我~
#1

centrifugeSIW 提问者

我也是这么想的,但是解析中给的是arr[1]=5,给错了
2017-09-28 回复 有任何疑惑可以回复我~

数组中只有五个元素,arr【i】中i的最大值只能是4,不能超过4,c选项中的arr[arr[0]=arr[5],超出数组范围,所以c选项错误

0 回复 有任何疑惑可以回复我~
#1

centrifugeSIW 提问者

您能看下我的问题吗?选项B和选项C我都明白的,我想问的是A和D..
2017-08-29 回复 有任何疑惑可以回复我~
#2

慕雪3212274 回复 centrifugeSIW 提问者

--i是先计算再赋值,i--才是先赋值再计算。 第二个问题:arr[1]=4无误。
2017-08-29 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
C语言入门
  • 参与学习       926210    人
  • 解答问题       20797    个

C语言入门视频教程,带你进入编程世界的必修课-C语言

进入课程

关于练习题有一些问题

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信