首页 > 试题广场 >

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

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

推荐
执行int * ptr[]={&a[0],&a[1],&a[2],&a[3],&a[4]};语句后,使ptr[0]指向a[0],……,ptr[4]指向a[4]。执行for循环语句后p=ptr之后,其存储结构如图所示。* ( * (p+2))= * ptr[2]=15, * ( *(++p))= * ptr[1]=9。程序输出为15  9。

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