为什么C++程序不能适用于17 13 3 3?

为什么C++程序不能适用于17 13 3 3?,c++,c,max,C++,C,Max,我在hackerRank上运行了这个代码。对于其他测试用例,这段代码做得很好 除了: 17 13 3 15 其产出:15 我还试着跑了17-13的maxa,b 为其合理地输出17 请帮忙 你忘了把max放在这里了 它应该返回maxa,b,maxc,d 顺便说一下,返回后确实不需要括号,因为它们只会使代码变得更重,并导致太多的括号 return(max((a,b),max(c,d))); 基本上评估为 return( max((a,b),max(c,d))); 也许你在找 return( ma

我在hackerRank上运行了这个代码。对于其他测试用例,这段代码做得很好 除了: 17 13 3 15

其产出:15

我还试着跑了17-13的maxa,b 为其合理地输出17

请帮忙

你忘了把max放在这里了

它应该返回maxa,b,maxc,d

顺便说一下,返回后确实不需要括号,因为它们只会使代码变得更重,并导致太多的括号

return(max((a,b),max(c,d)));
基本上评估为

return( max((a,b),max(c,d)));
也许你在找

return( max(b,max(c,d)));

a,b的计算结果是什么?旁注:std::max{a,b,c,d};我会的。非常感谢大家。我真傻,竟然没有注意到这个错误。谢谢:顺便问一下,你能帮我解决这个问题吗?解决这个问题的更好方法是:使用max;使用第五个变量并进行比较;还是使用不带第五个变量的比较?或者在时间和空间复杂度方面有其他问题吗?@dj1,在我看来,你的程序还可以。正如评论中所建议的,你可以使用std::max来做同样的事情。谢谢:顺便问一下,你能帮我解决这个问题的更好方法是:使用max;使用第五个变量并进行比较;还是使用不带第五个变量的比较?或者在时间和空间复杂性方面的其他方面?
return( max(b,max(c,d)));
return  max( max(a,b), max(c,d) );