我对C ++很陌生,并且只是在使用if语句,所以我编写了这个程序:
#include <iostream>
using namespace std;
int getMax(int num1, int num2){
if (num1>num2)
{
cout << num1 <<endl;
}else{
cout << num2 <<endl;
}
return EXIT_SUCCESS;
}
int main(){
cout<<getMax(7,13)<<endl;
return 0;
}
Run Code Online (Sandbox Code Playgroud)
我的getMax函数需要两个参数,并且应该输出2个数字中的较大者-在这种情况下为13。但是,不仅输出13,还输出0。为什么会这样?
但是,不仅输出13,还输出0。为什么会这样?
因为在此语句中:
cout<<getMax(7,13)<<endl;
Run Code Online (Sandbox Code Playgroud)
您发送到呼叫cout结果,getMax()该结果是EXIT_SUCCESS宏,其值为0。
看起来您的getMax()函数应该返回最大值而不是打印它:
int getMax(int num1, int num2)
{
return num1 > num2 ? num1 : num2;
}
Run Code Online (Sandbox Code Playgroud)
但您应该std::max()改用它,或者至少将您的函数重命名为printMax()