求各位兄台解释。
程序代码:
#include<stdio.h> int k = 7; void f(int **s) { int *t=&k; *s=t; printf("%d,%d,%d\n",k,*t,**s); } main() { int i=3,*p=&i,**r=&p; f(r); printf("%d,%d,%d\n",i,*p,**r); }
为什么答案为7,7,7,3,7,7而不是7,7,7,3,3,3
#include<stdio.h> int k = 7; void f(int **s) { int *t=&k; *s=t; printf("%d,%d,%d\n",k,*t,**s); } main() { int i=3,*p=&i,**r=&p; f(r); printf("%d,%d,%d\n",i,*p,**r); }