可以址传递吗

来源:7-4 我调我自己:函数的递归调用

慕虎3145518

2021-08-31 03:30

http://img1.mukewang.com/612d32d300010cb518261021.jpg

http://img3.mukewang.com/612d334b00010d5206450346.jpg

为什么不能像上节课一样使用址传递?

写回答 关注

4回答

  • 慕函数8614728
    2023-04-08 19:52:15

    写错了,main函数里应该是wow(&n),传一个地址。因为你函数定义的时候,参数是指针,所以要传地址,而你传的*a,a是变量不是指针,*a没有任何意义

  • qq_幕布斯0176761
    2022-11-14 08:06:52

    传指调用是要再函数外部改变参数内部的值,而本节课只是在所调用的函数内进行递归计算,并不需要传指,传了指又没什么意义,为什么要传指呢?计算好后返回一个值给主函数不就ok了嘛~传入相对应的参数给所调用的函数里,并计算返回这个计算的值,不过递归也有传指的时候,根据情况选择的!!!

  • 慕斯6581495
    2021-09-30 14:52:32

    估计是没有返回值,没办法弄

  • 慕桂英5002832
    2021-08-31 19:23:43
    #include <stdio.h>int factorial(const int *n) {    if (*n <= 1)        return 1;    else {        int next = *n - 1;        return *n * factorial(&next);    }}int main(){    int n=5;    int result= factorial(&n);    printf("factorail(%d)=%d\n",n,result);}

    可以地址传递

趣味 C++ 入门

C++ 入门,开启趣味学习之旅,揭开 C++ 的神秘面纱,让你不再望而生畏。

31203 学习 · 189 问题

查看课程

相似问题