若有以下程序 #include intk=7; voidf(int**s) {int*t=&k; *s=t; printf("%d,%d,%d,",k,*t,**s); } main() {inti=3,*p=&i,**r=&p; f(r);printf(

admin2015-07-31  30

问题 若有以下程序
#include
intk=7;
voidf(int**s)
{int*t=&k;
*s=t;
printf("%d,%d,%d,",k,*t,**s);
}
main()
{inti=3,*p=&i,**r=&p;
f(r);printf("%d,%d,%d\n",i,*p,**r);
}
则程序的输出结果是

选项 A、3,3,3,7,7,7
B、3,7,7,7,7,7
C、7,7,7,3,3,3
D、7,7,7,3,7,7

答案D

解析 在主函数中分别给整型变量i,指针型变量p和指向指针的指针变量r赋初值;调用f函数,并将实参变量r的值传递给形参变量s,在f函数中,通过printf("%d,%d,%d,", k, *t, **s);语句输出7,7,7;返回主函数,通过printf("%d,%d,%d\n", i, *p, **r);输出3,7,7。因此D选项正确。
转载请注明原文地址:https://jikaoti.com/ti/Dri0FFFM
0

最新回复(0)