【c++二维数组问题】int a[2][2]; a[0][2]=0; a[1][0]=3; cout 财富值76

2016-11-12 13:28发布

总程序:

#include<iostream>

using namespace std;

int main() {

   int a[2][2];

   a[0][2]=0;

   a[1][0]=3;

   cout<<a[1][0]<<" "<<a[0][2];

   return 0;

}

输出为什么是3 3

而不是3 0呢?


1条回答
xyhcp0
2016-11-12 14:14 .采纳回答

因为你定义的数组是a[2][2],共有4个元素,a[0][0],a[0][1],a[1][0],a[1][1];

按行优先存储,你的a[0][2]不是合法标识,a[0][2]等同于a[1][0],语句a[0][2]=0;相当于给a[1][0]赋值0, a[1][0]=3等于又给a[1][0]赋值3,输出a[1][0],a[0][2]实际上相当于输出a[1][0],a[1][0],所以是3 3,而不是3 0;如果你把a[0][2]都改成a[0][1],结果就是3  0了。不信你试试。

一周热门 更多>