这道C++程序题目的答案我知道了 但是我不知道是怎么来的 希望大家帮我详细的解答下 小弟先谢了!

2025-02-24 00:28:25
推荐回答(2个)
回答1:

如果不仔细看,会认为index(3)返回的是a[3]的值8,实际上不是这样的。

index(3)的返回值不是a[3]的值【8】,而是a[3]这个内存地址。原因是 index 函数在定义时是定义为 &index(指针、地址型) 而不是普通的 index(数据、整数型)。

index(3)=12 的功能也就是把12传送给 a[3]【或者说是a[3]所代表的内存单元】。

最后在输出结果时,是用cout,而且是依次把a[0] a[1] a[2] a[3] a[4]和空格传送给cout,所以输入就是【2空格4空格6空格12空格10空格】了。

至于后面的system("pause") 和 return 就已经不重要了。

回答2:

这个挺简单的啊
index(3)本来的值是8,而index(3)=12后原来的8就被12代替了
然后用一个for语句依次输出:
a[0]=2
a[1]=4
a[2]=6
a[3]=12
a[4]=10
即结果是: 2 4 6 12 10