您的位置:首页 > 其它

递归

2015-11-30 22:05 295 查看
int  factorial (int  val)

{
    if (val > 1)
        return factorial (val - 1) * val;
    return 1;

}
需要注意传参时,val的设定不能过大,防止溢出。
且传入的值必须是 val-1而非val--,如果传入val--,每次factorial的递归调用都调用val,所有val值永远不会减到<1,函数将不段调用自身直到程序栈空间耗尽为止,段错误了。

#include <iostream>

#include <vector>

using namespace std;

递归输出vector对象的内容

void print_vec (const vector<string> &v, int i)

{

    if (i == v.size())  return ;

    cout << v[i++] << " ";

    print_vec(v, i);

}

int main()

{

    int i=0;

    vector<string> v{"hello", "world", "your", "wu", "is", "too", "bigbig" };

    print_vec(v, i);

    return 0;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: