如果下列程序输出的地址是 0x6ffe00,则 cout<<a+1<<endl; 输出的是( )
#include<iostream>
using namespace std;
int main()
{
int a[2][3]={0};
cout<<a<<endl;
}答案B。二进制转十进制:整数部分按权展开,小数部分乘以2的负幂次。
二进制小数转十进制:小数点后第一位是2⁻¹=0.5,第二位是2⁻²=0.25。容易忽略负幂次。
【考点】多维数组内存布局|指针退化规则|指针算术步长计算
本题考查 GESP 四级大纲中"C++ 基础——数组与指针"模块。命题人专门设计这道题,就是要卡住考生"误以为数组名退化为一维指针"的致命弱点——大多数学生看到 int a[2][3] 就下意识当成 int* 处理,导致指针算术全部算错。