首页 > 试题广场 >

给出以下程序的执行结果。 #include void m

[问答题]
给出以下程序的执行结果。
#include <stdio.h>
void main()
{
    int a[ ]={1,3,5,7};
    int * p[3]={a+2,a+1,a};
    int ** q=p;
    printf("%d\n", * (p[0]+1)+ ** (q+2));
}

推荐
指针数组p有3个元素,分别指向数组a的第3、2、1个元素。二级指针q指向指针数组p,p[0]指向a[2],p[0]+1指向a[3],其存储结构如图所示. * (p[0]+1=7;q指向p,q+2指向p[2], * (p[2]指向a[0], **(p[2])=1。程序输出为8。

发表于 2018-05-07 10:57:59 回复(0)