所谓嵌套调用,是在调用一个函数并执行该函数的过程中,又调用另一个函数的情况。如在main()函数中调用了a函数,而在a函数的执行过程中又调用b函数,这就构成了两层嵌套调用。
根据函数的调用原则,被调用函数返回时(执行了return语句,或执行到函数的最后语句),一定是返回到调用它的函数(主调函数)的中断位置,继续执行主调函数后面的语句。
函数的递归调用:在调用一个函数的过程中又出现直接或间接地调用该函数本身,称为函数的递归调用。
double f(double x)
double y;
 
y=f(x);
return y*y;

这里,在f函数的内部,又调用了f函数,这是直接调用本函数。如果在调用f1函数过程中要调用f2函数,而在调用f2函数过程中又要调用f1函数,这是间接调用本函数。

递归调用都是无终止地调用自己。程序中不应该出现这种无止的递归调用,而应该为有限次数、有终止的递归调用。这可以使用if语句来控制,当满某一条件时让递归调用结束。