即使在使用指针之后,数字也不会在主函数中交换。我知道有一些原因,但找不到它是什么?
#include <stdio.h>
void swap(int*, int*);
int main()
{
int *ptr, *ptr2;
int num1 = 90;
int num2 = 900;
ptr = &num1;
ptr2 = &num2;
printf("Before swapping the values : %d : %d \n", *ptr, *ptr2);
swap(&num1,&num2);
printf("After calling the swap function : %d : %d \n", *ptr, *ptr2);
return 0;
}
void swap(int *ptr, int *ptr2)
{
int *temp;
temp = ptr;
ptr = ptr2;
ptr2 = temp;
printf("In the swap function : %d : %d\n", *ptr, *ptr2);
}
输出仍然是 90 900