下列程序的输出结果是( )。 #include <iostream.h> void main0 {int n[][3]={10,20,30,40,50,60}; int(*p)[3]; p=n;cout<<p[0][

admin2016-11-22  27

问题 下列程序的输出结果是(     )。
    #include <iostream.h>
    void main0
    {int n[][3]={10,20,30,40,50,60}; int(*p)[3];
    p=n;cout<<p[0][0]<<","<<*(p[0]+1)<<","<<(*p)[2]<<end1;}

选项 A、10, 30, 50
B、10, 20, 30
C、209 40, 60
D、10, 30, 60

答案B

解析 如果数组元素都是相同类型的指针,则称这个数组为指针数组。指针数组一般用于处理二维数组。声明的格式为:<数据类型×(*变量名)×[元素个数]>。p表示指向数组n的行指针,初始化“(*p)[3]=n;”,地址的等价形式:p+、p、*(p+i)都表示数组第i+1行的第1个元素的首地址。*(p+i)+j、p+j、&p[j]都表示数组第i+1行、第j+1列元素的地址。值的等价形式:+(*p+i)+j)、*(p+j)、pD]都表示数组第i+1、第j+1列元素的值。所以本题中分别访问数组元素p[0][0],p[0][1],p[0][2]。
转载请注明原文地址:https://kaotiyun.com/show/hzAp777K
0

最新回复(0)