ポインターを使用した後でも、メイン関数で数値が交換されません。何らかの理由があることはわかっていますが、それが何であるかを見つけることができませんでしたか?
#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 です