现在有一个经典的函数题目,给你两个数字a,b。
要求实现一个函数:
void swap1(int *a,int *b);//交换两个数字;
只允许提交函数及其内容,否则编译错误
C++函数原型:void swap1(int *a,int *b)
输入
两个数字,a,b(均在int范围内)
输出
交换后的a,b
样例输入 Copy
1 3
样例输出 Copy
3 1
#include<iostream>
using namespace std;
void swap1(int *a,int *b); //函数声明,形参为指针型
int main()
{
int a,b;
cin >> a >> b ;
swap1(&a,&b); //传入指针作为实参
cout << a << " "<< b << endl;
return 0;
}
//函数定义
void swap1(int *a,int *b)
{
int t;
t=*a;
*a=*b;
*b=t;
}
注意下面这种写法是不能成功交换数字的
void swap1(int *a,int *b)
{
int *t;
t=a;
a=b;
b=t;
}
因为我们此时只是定义了指针,并没有在函数中解引用这个指针,指针只有解引用了,才能算是我们访问了数据地址。