有以下程序 #include main() { int a[5]={2,4,6,8,10}, *p,**k; p = a; k = &p; printf("%d ", *( p++ ) ); printf("%d\n", **k ); } 程序运行后的输

admin2015-07-28  39

问题 有以下程序
#include
main()
{ int a[5]={2,4,6,8,10}, *p,**k;
p = a; k = &p;
printf("%d ", *( p++ ) );
printf("%d\n", **k );
}
程序运行后的输出结果是( )。

选项 A、2 4
B、4 4
C、2 2
D、4 6

答案A

解析 在该程序中,a是int类型的一维数组,p为基本类型为int的指针变量,指向数组a的第一个元素;k为二级指针,指向指针p。输出*(p++)时,自加运算符后置即先输出p指向的值后p再向后移动一位,所以第一次输出的结果为2。k指向指针p,**k与*p等价,第二次输出结果为4,答案选A。
转载请注明原文地址:https://jikaoti.com/ti/FMn0FFFM
0

最新回复(0)