关于C++数组简单的问题

昨天居然被一个C++白痴问题难住了 就是一个题目 题目

1
2
设有下定义的语句: [c]int a3={10,20,30,40,50,60}; int b3={10,20,30,40,50,60};[/c] 则a1*b2的结果为() 
A)2000        B)1200      C)2400        D)3000

结果,我把怎么也想不好了 把定义数量弄成了地址量(大概就是怎么说的吧)~ 我来解释一下 例如: a[x][y]={}; x、y只是表示计算机分配内存的数量,不表示地址,x、y不是从0计算的,而表示数据的空间是从地址算的 例如填入数字 a[2][3]={} 地址为 a[0][0]    a[0][1]    a[0][2] a[1][0]    a[1][1]    a[1][2] 而不是 a[1][1]    a[1][2]    a[1][3] a[2][1]    a[2][2]    a[2][3] 记住计算机在内存中是以0开始计数,C系列里的基本都是这样 所以说地址量和分配量计数方式不同 我在VC++里验证的截图 验证截图 答案是C)2400 下面是验证代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20

// 数组测试.cpp

//

#include "stdafx.h";

#include "iostream";

using namespace std;

void main()

{

int a[3][2]={10,20,30,40,50,60};
int b[3][2]={10,20,30,40,50,60};
cout<<a[1][1]*b[2][1];
}

如果有什么错误请指正~