是这样的,你在man函数中调用了test函数,里面的num1和mun2的实参传递给了test方法,
test方法里面的num1和num2是test方法里的局部变量,你在方法里面改变了指向,也只是改变了这两个局部变量的指向,这两个变量的作用域仅限在test方法里面,方法结束后局部变量的空间被释放,man函数里面的num1和num2是不会改变的
void test(int * num1,int * num2)
{
int temp = *num1;
*num1 = * num2;
*num2 = temp;
}
int main ()
{
int num1 =5;
int num2 =3;
test(&num1,&num2);
printf("num1=%d,num2=%d",num1,num2);
}
这样就行了 |