首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >我无法在下面的代码中找出错误。在这种情况下有人能帮我吗?

我无法在下面的代码中找出错误。在这种情况下有人能帮我吗?
EN

Stack Overflow用户
提问于 2022-08-03 11:17:39
回答 1查看 80关注 0票数 0

我们使用以下规则定义整数的超级数字:

给定一个整数,我们需要找到这个整数的超级数字。

如果x只有1位数,那么它的超级数字是x。否则,x的超级数字等于x的数字之和的超级数字。例如,超级数字9875将计算为:

代码语言:javascript
运行
复制
super_digit(9875)       9+8+7+5 = 29 
super_digit(29)     2 + 9 = 11
super_digit(11)     1 + 1 = 2
super_digit(2)      = 2

数字p是通过串连字符串n,k来创建的。

这是我准备的代码:-

代码语言:javascript
运行
复制
int superDigit(string n, int k) {
    
    static string m=n;
    for(int i=1;i<k;i++)
    {
       n=n+m;   
    }
    int num2=stoi(n);
    if(num2%10==num2)
    {
        return num2;
    }
    else
    {
            int digit{};
            int sum{};
            while (num2!=0)
            {
                digit=num2%10;
                sum+=digit;
                num2/=10;
            } 
            string sum1=to_string(sum);
            superDigit(sum1,0); 
     }    


}

它显示的是error= "control reaches end of non-void function [-Werror=return-type]"

EN

回答 1

Stack Overflow用户

发布于 2022-08-03 15:09:42

这在我身上发生了一段时间,我发现编译器假设如果if语句didin不执行怎么办,所以在本例中,程序将继续在else块上继续,当它到达结束时,它需要返回int,但在其他语句的末尾没有返回。所以,只需添加一个返回某物的

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73220794

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档