若有以下程序: #inchde int k=7; void f(int **s) { int *t=&k; *8=t; printf("%d,%d,%d,",k,*t,**s); }

admin2021-04-28  20

问题 若有以下程序:
    #inchde
    int k=7;
    void f(int  **s)
    {  int  *t=&k;
    *8=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://jikaoti.com/ti/JSz0FFFM
0

最新回复(0)