C++ 字符5:错误:控件可能到达非无效函数的末尾
我是编程新手,我试图在LeetCode上解决这个问题,其中: 给定一个非负整数num,重复添加其所有数字,直到结果只有一个数字。 投入:38 产出:2 说明:该过程类似于:3+8=11,1+1=2。 因为2只有一个数字,所以返回它 我的解决方案:C++ 字符5:错误:控件可能到达非无效函数的末尾,c++,while-loop,add,C++,While Loop,Add,我是编程新手,我试图在LeetCode上解决这个问题,其中: 给定一个非负整数num,重复添加其所有数字,直到结果只有一个数字。 投入:38 产出:2 说明:该过程类似于:3+8=11,1+1=2。 因为2只有一个数字,所以返回它 我的解决方案: class Solution { public: int addDigits(int num) { int sum =0,a =0; while(num!=0){ a =
class Solution {
public:
int addDigits(int num) {
int sum =0,a =0;
while(num!=0){
a = num%10;
sum = sum + a;
num = num/10;
}
if(sum>9){
addDigits(sum);
}else{
return sum;
}
}
};
这段代码可以与其他编译器配合使用,但当我尝试在LeetCode提供的IDE上运行它时会出现错误
错误:
Line 18: Char 5: error: control may reach end of non-void function [-Werror,-Wreturn-type]
}
^
1 error generated.
请在此行中建议克服此错误的方法:
加法;
您正在调用函数,但没有对其返回值执行任何操作。您必须实际返回值:
返回addDigitsum;
在这方面:
加法;
您正在调用函数,但没有对其返回值执行任何操作。您必须实际返回值:
返回addDigitsum;
在代码中:
int addDigits(int num) {
int sum =0,a =0;
while(num!=0){
a = num%10;
sum = sum + a;
num = num/10;
}
if(sum>9){
addDigits(sum);
}else{
return sum;
}
}
你还有一个额外的任务,改为这样做:
int addDigits(int num) {
int sum =0,a =0;
while(num!=0){
a = num%10;
sum = sum + a;
num = num/10;
}
if(sum>9){
return addDigits(sum);
}
return sum;
}
在代码中:
int addDigits(int num) {
int sum =0,a =0;
while(num!=0){
a = num%10;
sum = sum + a;
num = num/10;
}
if(sum>9){
addDigits(sum);
}else{
return sum;
}
}
你还有一个额外的任务,改为这样做:
int addDigits(int num) {
int sum =0,a =0;
while(num!=0){
a = num%10;
sum = sum + a;
num = num/10;
}
if(sum>9){
return addDigits(sum);
}
return sum;
}