c语言swap函数如何调用

C言語では、swap関数を呼び出すのに、以下の2通りの方法があります。

  1. 変数のアドレスを渡して呼び出す:
void swap(int *a, int *b) {
    int temp = *a;
    *a = *b;
    *b = temp;
}

int main() {
    int x = 10, y = 20;
    swap(&x, &y); // 通过传递变量的地址进行调用
    printf("x = %d, y = %d\n", x, y); // 输出 x = 20, y = 10
    return 0;
}
  1. 変数の値を渡すことで呼び出す
void swap(int a, int b) {
    int temp = a;
    a = b;
    b = temp;
}

int main() {
    int x = 10, y = 20;
    swap(x, y); // 通过传递变量的值进行调用
    printf("x = %d, y = %d\n", x, y); // 输出 x = 10, y = 20
    return 0;
}

この場合、2番目の方法は変数の値のみを渡し、変数のアドレスは渡さないため、swap関数で修正できるのは形式パラメータaとbの値のみとなり、実パラメータxとyの値は変更されません。したがって、swap関数の呼び出し後に実パラメータの値を変更したい場合は、1番目の方法を使用する必要があります。

bannerAds