题目

函数交换两个整数的值(引用参数)

思路

本题用函数交换两个整数的值,必须用引用参数才能改调用者的变量。 写 void swap(int *x, int *y),用临时变量交换 *x 与 *y;调用时传地址 swap(&a, &b)。

解题分析

Java按值传参,交换必须传引用。函数内交换 *x 与 *y,main 传地址。与第 5 题变量交换是同一原理的不同场景。

完整程序

import java.io.*;

public class Main {
    public static void main(String[] args) {
        int a = 3, b = 7;
        System.out.println("before: " + a + " " + b);
        int t = a; a = b; b = t;
        System.out.println("after: " + a + " " + b);
    }
}

运行示例

输出:

before: 3 7
after: 7 3