c++ - 控制到达C语言中非空函数的结尾

标签 c++ function

我编写了以下代码,以查找用户给定的最多四个数字:

#include <iostream>

using namespace std;

/*
Add `int max_of_four(int a, int b, int c, int d)` here.
*/

int max_of_four(int a, int b, int c, int d){
    if(a>b){
        if(b>c){
            if(c>d){
                return a;
            }
            else if(a>d){
                return a;
            }
            else {
                return d;
            }
        }
        else if(a>c){
            return a;
        }
        else if (c>d) {
            return c;
        }
        else{
            return d;
        }
    }
 else if(b>c){
     if(c>d){
         return b;
     }
     else if(b>d){
         return b;
     }
     else{
         return b;
     }
 }
}

int main() {
    int a, b, c, d;
    //scanf("%d %d %d %d", &a, &b, &c, &d);
    cin>>a;
    cin>>b;
    cin>>c;
    cin>>d;
    int ans = max_of_four(a, b, c, d);
    cout<< ans<<endl;
    
    return 0;
}
但是我遇到了以下错误:
In function ‘int max_of_four(int, int, int, int)’:
error: control reaches end of non-void function [-Werror=return-type]

最佳答案

实际上,您的代码中存在缺陷。在很多情况下会返回值(value)。
提示:从a,b,c,d中首先找到a,b的最大值,然后找到c,d的最大值。然后比较两个答案。这使您更容易理解。

关于c++ - 控制到达C语言中非空函数的结尾,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64608543/

相关文章:

python - 将函数应用于列表的每个元素

c++ - 如何放置一个以模板类的对象为参数的函数?

javascript - 是否可以创建一个像按钮一样的链接,并在单击时执行某个功能?

C++返回本地分配的动态内存而不会泄漏?

c++ - 当我在函数内更改参数时,它是否也会为调用者更改?

python - 如何遍历数据框的所有行以将查找函数应用于字符串值并将结果应用于新列?

使用 C 中的二维数组和函数创建井字游戏程序

c++ - boost::filesystem::unique_path() 如何解决 C++ 中 mkstemp 模拟的需求?

c++ - 使用 const 类型标记变量

c++ - C11 & C++11 扩展和通用字符转义