狂想曲丶 发表于 2020-11-30 18:34:11

数组元素的引用

正确答案为A,求解析

小甲鱼的铁粉 发表于 2020-11-30 18:44:22


先看B选项,当i=9时,&a取的是&a,也就是第十一个元素,但数组a只有0-9十个元素,B溢出,错误
代码里面的a代表的是数组a的首地址,a+1就表示a的地址,所以这种输入是正确的

风过无痕1989 发表于 2020-11-30 19:50:11

小甲鱼的铁粉 发表于 2020-11-30 18:44
先看B选项,当i=9时,&a取的是&a,也就是第十一个元素,但数组a只有0-9十个元素,B溢出,错误
...

你的答案错误!
a + i 的方式没有错,但是,变量 i 的不变,所有的赋值就都在 a,达不到输入数据的目的。所以正确的答案应该是 A:a + (i++)

小甲鱼的铁粉 发表于 2020-11-30 21:17:40

风过无痕1989 发表于 2020-11-30 19:50
你的答案错误!
a + i 的方式没有错,但是,变量 i 的不变,所有的赋值就都在 a,达不到输入数据的目 ...

不好意思,不好意思{:10_260:}

风过无痕1989 发表于 2020-11-30 21:47:49

小甲鱼的铁粉 发表于 2020-11-30 21:17
不好意思,不好意思

客气了,互相学习,互相学习

北冰羊 发表于 2020-12-1 10:40:36

A:如果传入单纯只穿a的话是数组首地址,即a,a+1即数组地址向后移动一个int的位置,即a,a+(i++)即依次将数组向后移动一个int位,由于i++是执行完该条语句后再加1,所以,可以实现;
B:&a,传入的是a的地址,但是i+1并没有改变i的值,一直是1,所以是死循环,改成&a即可;
C:同样没改变i的值,死循环;
D:()改成[]就对了

风过无痕1989 发表于 2020-12-3 16:23:35

北冰羊 发表于 2020-12-1 10:40
A:如果传入单纯只穿a的话是数组首地址,即a,a+1即数组地址向后移动一个int的位置,即a,a+(i++) ...

他这里就不是一个改错题,是一个判断填空题
页: [1]
查看完整版本: 数组元素的引用