函数递归求5!returny位置不一样然后结果不同,为什么?

img


两次return y的位置不一样为什么结果也就不同

那肯定不一样啊,在while里return的话,while循环就没有意义了啊。第一次循环就return了
本身代码也是矛盾的,用递归函数,就不需要while循环,本身递归就相当于进行while循环了

int  n_1(int x)
{
    if(x==0)
      return 1;
    return x*n_1(x-1);
}

肯定不一样啊,如果在while里面,循环一次就返回了