c - 我有一个函数,它有 int a 和 int b 我所要做的就是找到最大值

标签 c function max

我不断收到以下错误(警告:控件可能到达非 void 函数 [-Wreturn-type] 的末尾)

这就是我现在拥有的。

int min(int a, int b) {
    if (b > a) {
        return a;
    }
    if (a > b) {
        return b;
    }
}

最佳答案

如果b == a那么就没有明确的返回值。您的编译器正在警告您。

这就是为什么你应该总是使用最后的 } else { block 。

尽管添加

if (a == b){
    return a; // either would do
}

将立即修复,如果您编写 min 的版本,这样的更改可能会在将来给您带来问题。这需要 double类型,输入之一是 NaN .据我所知,目前没有编译器会警告您。

但实际上,您应该完全放弃此功能并使用来自受人尊敬的库的功能。由于一系列技术原因,规范的写作方式min就是用

return (b < a) ? b : a;

关于c - 我有一个函数,它有 int a 和 int b 我所要做的就是找到最大值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55551006/

相关文章:

php - 编译php扩展时出现编译错误

c - libc.h : No such file or directory when compiling nanomsg pipeline sample

function - 调用存储在字符串变量中的函数名称?

javascript - 如何为 JavaScript 创建的每个 DIV 制作不同的 insideText?

mysql - 如何返回不同列中的 SQL max() 值?

c++ - 从 QByteArray 访问 UDP 数据报

c++ - 如何避免标题耦合

java - 从枚举调用函数

mysql - SQL:获取最大数量的 ID(已售商品)的 X、Y 属性

Excel CSV。包含超过 1,048,576 行数据的文件