这道C++程序题目的答案我知道了 但是我不知道是怎么来的 #include using namespace std; int a[ ]={2,4,6,8,10}; int &index(int i){ return a[i]; } int main( ){ int I; index(3)=12; for(I=0;I
来源:学生作业帮助网 编辑:六六作业网 时间:2024/11/25 02:46:35
这道C++程序题目的答案我知道了 但是我不知道是怎么来的 #include using namespace std; int a[ ]={2,4,6,8,10}; int &index(int i){ return a[i]; } int main( ){ int I; index(3)=12; for(I=0;I
这道C++程序题目的答案我知道了 但是我不知道是怎么来的
#include
using namespace std;
int a[ ]={2,4,6,8,10};
int &index(int i){
return a[i];
}
int main( ){
int I;
index(3)=12;
for(I=0;I
这道C++程序题目的答案我知道了 但是我不知道是怎么来的 #include using namespace std; int a[ ]={2,4,6,8,10}; int &index(int i){ return a[i]; } int main( ){ int I; index(3)=12; for(I=0;I
如果不仔细看,会认为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 就已经不重要了.