题目描述
输入两个整数 x和 y,请你编写一个函数,
交换两个整数的数值并输出交换后的 x和 y。
C++中的格式为:void swap(int &x, int &y)。
Java中的格式为:void swap(int[] a),交换a[0]和a[1]。
输入格式
共一行,包含两个整数 x和 y。
输出格式
共一行,包含交换后的 x和 y。
解题思路
首先引入一个小知识:为什么构造函数第一步要用&?
使用&符号,你实际上是传递原始值的引用,所以当你在函数内部改变这个值时,原始的值也会被改变。这就是为什么在你的swap函数中,你需要使用&来传递x和y。这样,当你在函数内部交换x和y的值时,原始的x和y值也会被交换。
如果你不使用&,那么你的swap函数将会交换的是x和y的副本,而不是原始的x和y。这意味着,尽管你在函数内部交换了x和y的值,但原始的x和y值不会被改变。
进入正题:
首先构造一个名为swap的函数,通过change变量中转a和b的值,最后输出即可
C++ 代码
#include<iostream>
using namespace std;
void swap(int &x,int &y){
int change;
change=x;
x=y;
y=change;
cout<<x<<" "<<y;
}
int main(){
int x,y;
cin>>x>>y;
swap(x,y);
return 0;
}
篇章:
上一篇:AcWing 808. 最大公约数
https://www.acwing.com/solution/content/211331/
下一篇:AcWing 812. 打印数字
https://www.acwing.com/solution/content/211340/