【C语言】两数交换

 

#include <stdio.h>

//使用局部变量交换失败
//实际上交换的是p1,p2的值
void swap(int p1, int p2) {
    int temp;
    temp = p1;
    p1 = p2;
    p2 = temp;
}

int main() {
    int a = 3, b = 4;

    printf("交换前:a=%d b=%d\n", a, b);
    swap(a, b);
    printf("交换后:a=%d b=%d\n", a, b);
    return 0;
}


//使用全局变量,修改成功

int a, b;
void swap() {
    int t;
    t = a;
    a = b;
    b = t;
}

int main() {
    a = 3, b = 4;

    printf("交换前:a=%d b=%d\n", a, b);
    swap();
    printf("交换后:a=%d b=%d\n", a, b);
    return 0;
}





//使用指针,交换成功
//我们可以通过指针修改变量的值
void swap(int *p1, int *p2) {
    int temp;
    temp = *p1;
    *p1 = *p2;
    *p2 = temp;
}

int main() {
    int a = 3, b = 4;

    printf("交换前:a=%d b=%d\n", a, b);
    swap(&a, &b);
    printf("交换后:a=%d b=%d\n", a, b);
    return 0;
}

 

posted @ 2022-07-28 22:03  淫鬻  阅读(48)  评论(0编辑  收藏  举报