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

这样写虽然能运算正确,但在最后一步,当n=1的时候,sum=Art(1-1)+1+2+3+4+5,Art(0)再去调用的时候,不符合条件,向下执行,返回sum的值,但是最后这Art(0)是怎么处理的,就默认当不存在了??

#include<stdio.h>

int Art(int n)

{

    int sum;

    if(n>0)

    {

        sum=Art(n-1)+n;

    }

    return sum;

}

int main()

{

    int n=5;

    printf("%d",Art(n));

    return 0;

}


正在回答

2 回答

谢老哥,

刚捋明白捋,终止条件有的就是 i>0;  问题在执行到Art(1)时计算式里已经出现Art(0),上方缺少对自己定义的这个函数n=0时的值,或者return 0; 

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

art(0)就是循环终止 的条件,你需要一个终止条件

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

举报

0/150
提交
取消

这样写虽然能运算正确,但在最后一步,当n=1的时候,sum=Art(1-1)+1+2+3+4+5,Art(0)再去调用的时候,不符合条件,向下执行,返回sum的值,但是最后这Art(0)是怎么处理的,就默认当不存在了??

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