void f(int **s){ int *t=&k; //t的内容为k的地址 s=&t; //s的内容为t的地址 *s=&m; //相当于,t的内容为m的地址 //那么*t就为m的值,也就是5 //同样**s=*t=5 //k不变,所以以下结果为7,5,5, printf("%d,%d,%d,",k,*t,**s);}int main(){ int i=3,*p=&i,**r=&p; //p为i的地址,那么*p=i=3 //r为p的地址。**r=*p=3 f(r); //f(r)不会改变r的值 //若f中没有 s=&t; 那么,*s可以改*r的值 //所以这段结果是3,3,3 printf("%d,%d,%d\n",i,*p,**r);}