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

admin2015-07-31  32

问题 若有以下程序
#include
int  k=7;
void f(int  **s)
{  int  *t=&k;
*s=t;
printf("%d,%d,%d,", k, *t, **s);
}
main()
{  int  i=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://kaotiyun.com/show/8nDp777K
0

随机试题
最新回复(0)