You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Hackerrank C++练习:求四个整数最大值代码编译报错如何解决

错误排查

  • 括号匹配错误:if (a > b)分支内的嵌套if逻辑写完后,额外多了一个无匹配if的else语句,同时if(a>b)的大括号未正确闭合,导致编译器识别else无对应匹配项,全局作用域括号也错乱。
  • 返回值缺失:max函数声明为int返回类型,但所有分支仅执行打印操作,未return对应最大值,触发返回值类型错误。
  • 函数名不符合要求:题目明确要求实现的函数名为max_of_four,自定义的max函数不符合接口要求,同时多层嵌套if的逻辑存在漏洞,无法覆盖b、c、d之间的所有大小比较场景。
  • 引入了冗余头文件:代码中未使用C标准输入输出函数,不需要引入stdio.h。

正确实现

#include <iostream>
using namespace std;

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

int main()
{
    int a, b, c, d;
    cin >> a >> b >> c >> d;
    int ans = max_of_four(a, b, c, d);
    cout << ans;
    return 0;
}

修改说明

  • 函数名调整为题目要求的max_of_four,符合接口规范
  • 简化最大值求解逻辑,采用逐次比较的方式,避免嵌套if的括号匹配问题,同时覆盖所有大小比较场景
  • 函数执行结束后返回最终的最大值,解决返回值缺失问题
  • 删除冗余的stdio.h头文件,修正所有括号匹配问题

内容的提问来源于stack exchange,提问作者Shashaank Kumar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 16:27:03