贡献者: 2YOURFATHER; addis
函数是组织好的,可重复使用的,用来实现相关功能的代码段。C++ 提供了许多内建函数,比如 STL 的 sort()
, cmath
的 sqrt()
。我们也可以自己创建函数,这被叫做自定义函数。使用自定义函数,可以让程序变的更简洁。
我们先从几个例子开始
#include <iostream>
using namespace std;
int add1(int a, int b) {//声明方式1
return a+b;
}
int add2(int, int);//声明方式2
int main(){//main函数,每个c++程序运行都是调用main函数,其他自定义函数不能调用它
int a, b;
cin>>a>>b;
cout<<add1(a, b)<<endl;//调用1
cout<<add2(a, b)<<endl;//调用2
return 0;
}
int add2(int a, int b){//函数2的代码
return a+b;
}
这段代码简单地介绍了 C++函数声明方式,现在给出函数声明的伪代码
数据类型 函数名(形参列表){
函数体
return 返回值;
}
备注:数据类型除了 int
,char
这些类型外还有一个叫 void
的类型,就相当于返回一个空类型,这个函数不用写 return
返回值;
先来看个例子
#include <iostream>
using namespace std;
void swap(int a, int b){
int tmp = a;
a = b;
b = tmp;
}
int main(){
int a, b;
cin >> a >> b;
swap(a, b);
cout << a << " " << b;
return 0;
}
这个函数的作用是交互两个数,但是由于交换的是在 swap
函数内部,所以不对 main
函数造成影响(即 a
和 b
在 swap
函数里是形式参数),所以想要达到原来的目标,a b
变量应该改为引用变量
#include <iostream>
using namespace std;
void swap(int &a, int &b){
int tmp = a;
a = b;
b = tmp;
}
int main(){
int a, b;
cin >> a >> b;
swap(a, b);
cout << a << " " << b;
return 0;
}