奋斗的小白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日

悬赏问题

  • ¥15 poi合并多个word成一个新word,原word中横版没了.
  • ¥15 【火车头采集器】搜狐娱乐这种列表页网址,怎么采集?
  • ¥15 求MCSCANX 帮助
  • ¥15 机器学习训练相关模型
  • ¥15 Todesk 远程写代码 anaconda jupyter python3
  • ¥15 我的R语言提示去除连锁不平衡时clump_data报错,图片以下所示,卡了好几天了,苦恼不知道如何解决,有人帮我看看怎么解决吗?
  • ¥15 在获取boss直聘的聊天的时候只能获取到前40条聊天数据
  • ¥20 关于URL获取的参数,无法执行二选一查询
  • ¥15 液位控制,当液位超过高限时常开触点59闭合,直到液位低于低限时,断开
  • ¥15 marlin编译错误,如何解决?