任务:函数调用
1.函数调用形式
函数名 (实参列表)
2.函数原型说明
函数类型,函数名,参数列表完全一致;
参数类型一定要有,“;”一定要有 int gcd(int,int);
函数原型说明可以出现在函数被调用之前的任何位置,且可以多次说明,但一个作用域内只能说明一次。(此条不好归纳)
3.函数的嵌套调用与递归调用
C++内不允许嵌套定义:即不允许在函数体内再定义另一个函数
但允许嵌套调用,甚至嵌套调用自身
嵌套调用自身或通过其他函数间接调用自身,这2种方式称为递归调用,这种函数也称为递归函数
递归调用过程中,主调函数同时又是被调函数。
long int f(int n)
{
int b;
if(n==1||n==0)
b=1;
else
b=n*f(n-1); 递归调用f函数(直接调用)
cout<<"n="<<n<<'\n'<<"n!="<<b<<endl;
return b;
}
#include <iostream.h>
void f2(int n);
void f1(int n)
{
if(n=0)return;
cout<<n%10<<'\t';
if(n%2==0)f2(n/10); 程序执行到此调用f2函数
}
void f2(int n)
{
if(n==0)return;
cout<<n%10<<'\t';
if(n%2)f1(n/10); 执行到此调用f1函数
}
void main(void)
{
f1(1112234);
cout<<'\n';
}
这是间接调用,间接调用次数必须有限。
明日任务:函数