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

admin2017-04-24  6

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

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

答案B

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

最新回复(0)