比如这一段程序
这一段的输出结果是3,3
但是下面这一段的输出结果却是:5,5,5,5,5
#include<stdio.h>
int *f(int *s,int *t)
{
if(*s<*t)
*s=*t;
return s;
}
main()
{
int i=3,j=5,*p=&i,*q=&j,*r;
r=f(p,q);
printf("%d,%d,%d,%d,%d\n",i,j,*p,*q,*r);
}
不是说形参不能反向传输给实参吗,更何况改变的不是s的地址指向么,怎么i和*p也改变了?求大神解惑,谢谢