为了账号安全,请及时绑定邮箱和手机立即绑定

可以址传递吗

http://img1.sycdn.imooc.com//612d32d300010cb518261021.jpg

http://img1.sycdn.imooc.com//612d334b00010d5206450346.jpg

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

正在回答

4 回答

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

0 回复 有任何疑惑可以回复我~

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

0 回复 有任何疑惑可以回复我~

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

0 回复 有任何疑惑可以回复我~
#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);}

可以地址传递

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

可以址传递吗

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信