54. Swap Two Pointers Using Double Pointers

Back To All Submissions
Previous Submission
Next Submission

Code

#include <stdio.h>
void swapPointers(int **pp1, int **pp2) {
    int *temp;    // temp là một mảnh giấy trắng để chứa địa chỉ
    
    temp = *pp1;  // Nhấc mảnh giấy p1 cất vào temp
    *pp1 = *pp2;  // Nhấc mảnh giấy p2 đặt vào chỗ của p1
    *pp2 = temp;  // Đặt mảnh giấy trong temp vào chỗ của p2
}

int main() {
    int a, b;
    scanf("%d %d", &a, &b);

    int *p1 = &a;
    int *p2 = &b;

    // Truyền địa chỉ của con trỏ (&p1, &p2)
    swapPointers(&p1, &p2);

    // In ra giá trị tại nơi p1 và p2 trỏ tới sau khi tráo đổi
    printf("%d %d\n", *p1, *p2);

    return 0;
}

Solving Approach

 

 

 

Was this helpful?
Upvote
Downvote