为什么在调用的函数里加了printf会让运行结果变为3?

来源:5-8 递归函数(二)

qq_老司机_7

2017-08-12 08:55

#include<stdio.h>
int jia(int i)
{
    int sam=0;
    if(i<=0)
    {
        printf("输入错误\n");
    }
    else if(i==1)
    {
        sam+=1;
        return sam;
    }
    else
    {
        sam=i+jia(i-1);
        printf("%d\n",i);
    }
}
int main()
{
    int i=10;
    printf("小明%d天学习了%d个单词\n",i,jia(i));
    printf("运算结束");
}
写回答 关注

2回答

  • 硁硁之愚4099589
    2017-08-14 21:31:50
    已采纳

    printf("%d\n",i);后面要加return sam;

    qq_老司机...

    非常感谢!

    2017-08-20 21:22:34

    共 1 条回复 >

  • 慕仰7495308
    2017-08-14 21:26:14

    我也不会


C语言入门

C语言入门视频教程,带你进入编程世界的必修课-C语言

926021 学习 · 20793 问题

查看课程

相似问题