0

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

#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 です

4

3 に答える 3