在某些情景中,我们会重复使用同一组语句,这时我们可以用函数将它们打包,在需要时,我们可以直接调用。不用再次打出一长串代码。四个字:方便快捷!在c++中,很多函数需要自己定义,像变量需要定义一样。也有些函数c++中已经有了,像常用的main(),swap()。下面上一串示例代码:
#include<iostream>
using namespace std;
void out(int num)
{
for(int opop=1;opop<=num;opop++)
cout<<"*";
return;
}
int main()
{
out(10);//使用函数
return 0;
}
像上面一样,在进入主函数之前,先定义了函数out。在后来调用函数时,out定义中花括号的部分可以直接使用。定义函数时,有以下格式:
返回值类型 函数名(形参1类型 形式参数1,形参2类型 形式参数2)
{
代码段;
}
例如上面的程序,函数out在被调用时,执行代码段,输出10个“*”。但是有一些事情需要注意。比如在定义交换函数swap时,形参复制了实参的副本,而没有......干说听不懂,上代码
//为了方便,只展示定义函数的代码
void swap(int a,int b)
{
int t=a;
a=b;
b=t;
return;
}
在使用时,交换的是实参的副本而不是实参。也就是在主函数中swap(x,y)时,xy并没有交换,交换的仅仅是副本。c++中不是所有函数都需要定义返回值类型,如果只是执行操作,不需要返回值类型,例如上面的out函数,我们并不需要返回值,只是想执行输出操作。这时,我们就需要把void作为返回值类型。但是我好像还没有讲有返回值的......
讲一下max函数:
int max(int a,int b)
{
if(a<b)
{
return b;
}
else
{
return a;
}
}
这样,当我们调用函数max时,像这样:
d=max(s,a);
那么d就会成为s和a中最大的数,max(s,a)也可以直接放在cout中输出,那么就会输出s,a中最大的数,当然也有bool,long long类型的函数。这里不再细讲了,下次再讲吧.