第十二周项目一:阅读程序3

来源:互联网 发布:网络视频直播平台 编辑:程序博客网 时间:2024/03/29 18:27

问题及代码1:

#include <iostream>using namespace std;void f(int);int main(){    int i=1234;    f(i);    return 0;}void f(int n){    if(n==0)        return;    else    {        f(n/10);        cout<<n%10;        return;    }}


运行结果1:

问题及代码2:

#include <iostream>using namespace std;int sub(int);int main(){   int i=5;   cout<<sub(i)<<endl;}int sub(int n){   int a;   if (n==1)   return 1;   a=n+sub(n-1);   return a;}


运行结果:

知识点总结:

在调用一个函数的过程中又出现直接或间接的调用该函数本身。

学习心得:

在调用函数时,并不是立即得到函数值,而是一次又一次的进行递归调用,到满足条件,才有确定的值。第一个代码:i的值从1234到123到12到1到0,然后再从0到1输出1,到12输出2,到123输出3,到1234输出4,最后输出1234。  第二个代码:a=5+sub(4)=5+4+sub(3)=5+4+3+sub(2),=5+4+3+2+sub(1),当n=1,return 1,a=15,最后输出15。

0 0
原创粉丝点击