奋斗的小白yf 2021-11-08 20:12 采纳率: 100%
浏览 29
已结题

c语言求一个数的各位数之和,为什么运算错误

#include <stdio.h>
int fun(int x);
int sum,a,n;
int main ()
{
printf("请输入一个正整数");
scanf("%d",&n);
sum=fun(n);
printf("sum=%d",sum);
return 0;
}
int fun(int x)
{
if(x==0)
return 0;
else
{
a=x%10;
sum=a+fun(x/10);
return sum;
}
}

输入32
打印sum=6
为啥会运算错误呢

  • 写回答

3条回答 默认 最新

  • 关注

    你题目的解答代码如下:

    #include <stdio.h>
    int fun(int x);
    int sum, a, n;
    int main()
    {
        printf("请输入一个正整数");
        scanf("%d", &n);
        sum = fun(n);
        printf("sum=%d", sum);
        return 0;
    }
    int fun(int x)
    {
        int sum;
        if (x == 0)
            return 0;
        else
        {
            a = x % 10;
            sum = a + fun(x / 10);
            return sum;
        }
    }
    

    如有帮助,望采纳!谢谢!

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 12月2日
  • 已采纳回答 11月24日
  • 创建了问题 11月8日