辽宁专业网页设计免费建站,网站建设的可行性分析,扬州哪里做网站,百度指数移动版一、问题 C语⾔中不允许进⾏嵌套的函数定义#xff0c;因此各函数之间是平⾏的#xff0c;不存在上⼀级函数和下⼀级函数的问题。但是C语⾔允许在⼀个函数的定义中出现对另⼀个函数的调⽤#xff0c;这就是函数嵌套调⽤。那么如何嵌套调⽤呢#xff1f;
二、解答 函数的嵌…一、问题 C语⾔中不允许进⾏嵌套的函数定义因此各函数之间是平⾏的不存在上⼀级函数和下⼀级函数的问题。但是C语⾔允许在⼀个函数的定义中出现对另⼀个函数的调⽤这就是函数嵌套调⽤。那么如何嵌套调⽤呢
二、解答 函数的嵌套调⽤即在被调函数中又调⽤其他函数。 下⾯通过⼀个分数相加的例⼦来介绍如何进⾏函数的城套调⽤。本例要实现的是在程序运⾏时输⼊4个数。前两个数分别是⼀个分数的分⼦和分母后两个数也是⼀个分数的分⼦和分母。按 Enter 键以后将这两个分数相加的计算结果显示出来。 代码如下
#include stdio.h
int gys(int x, int y)
{return y ? gys(y, x % y) : x;
}
int gbs(int x, int y)
{return x / gys(x, y) * y;
}
void yuefen(int fz, int fm)
{int s gys(fz, fm);fz / s;fm / s;printf(the result is %d/%d\n, fz, fm);
}
void add(int a, int b, int c, int d)
{int u1, u2, v, fz1, fm1;v gbs(b, d);u1 v / b * a;u2 v / d * c;fz1 u1 u2;fm1 v;yuefen(fz1, fm1);
}
int main()
{int a, b, c, d;scanf(%d,%d,%d,%d, a, b, c, d);add(a, b, c, d);
} 程序运⾏结果如下所示
1,3,2,4
the result is 5/6 下⾯分析⼀下函数嵌套调⽤执⾏的过程 在执⾏ main( ) 函数的过程中当遇到调⽤ add( ) 函数的操作语句时流程转向 add( ) 函数在执⾏ add( ) 函数时当遇到调⽤ gbs( ) 函数的操作语句时流程转向 gbs( ) 函数在执⾏ gbs( ) 函数时 当遇到调⽤ gys( ) 函数的操作语句时流程转向 gys 函数当完成 gys( ) 函数的全部操作后 返回到 gbs( ) 中当完成 gbs( ) 剩下的全部操作后返回到 add( ) 中执⾏剩余部分直到 add( ) 函数结束再返回到 main( ) 函数。 三、总结 通过函数的嵌套调⽤可以把⼀个复杂问题分解成多个简单的问题进⾏处理。