注册 登录
编程论坛 C++教室

新人求解,递归函数里的(--n)和(n-1)的区别。谢谢!

caosule 发布于 2018-12-18 01:11, 1355 次点击
int digui(int n)
{
    if (n == 1 || n == 0)
        return 1;
    return n * digui(--n); //这儿我用了--n,而不是n-1,程序运行结果是6而不是24.
}
int main()
{
    int x;
    x = digui(4);
    cout << x;
}
1 回复
#2
rjsp2018-12-18 10:38
n * digui(--n)
这是未定义行为
1