指针,二级指针,函数调用

若有以下程序
#include<stdio.h>
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);}则程序的输出结果是(7,773,7,7)。这个怎么做啊?

img

你甚至认为这代码能编译通过?