如果不想使用全局变量,你可以使用传递指针的方式来实现变量交换。以下是修改后的代码:

#include <stdio.h>

void exchange(int* a, int* b)
{
    int c;

    c = *a;
    *a = *b;
    *b = c;
}

int main()
{
    int x = 3, y = 4;
    printf('Before exchanging: %d, %d\n', x, y);

    exchange(&x, &y);

    printf('After exchanging: %d, %d\n', x, y);

    return 0;
}

在这个修改后的代码中,我们将exchange函数修改为接受指针参数。在函数内部,我们通过解引用操作符*来访问和修改指针所指向的值。

main函数中,我们声明了两个整数变量xy,并将它们的地址作为参数传递给exchange函数。

这样,通过传递指针来实现变量交换,而不需要使用全局变量。

希望这个修改后的代码能够解决你的问题。如果你还有任何疑问,请随时提问。

C语言指针实现变量交换 - 不用全局变量

原文地址: https://www.cveoy.top/t/topic/dh19 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录