我正在通过Sololearn学习C++.下面是一个代码,用于查找两个数字中最大的一个.
#include <iostream>
using namespace std;
int max(int a, int b){
   if (a > b) {
       return a;
   }
   return b;
} 
int main() {
    cout << max(7, 4) << endl;
    return 0;
}
Run Code Online (Sandbox Code Playgroud)
结果 - 7
但是它不应该返回b因为函数中有返回b ????
CoryKramer的答案就是这么说的.尽管如此,为了避免你遇到的混乱,我宁愿:
#include <iostream>
using namespace std;
int max(int a, int b){
   if (a > b) {
       return a;
   }
   else {
       return b;
   }
} 
int main() {
    cout << max(7, 4) << endl;
    return 0;
}
Run Code Online (Sandbox Code Playgroud)
或者你可以使用:
return a > b ? a : b;
Run Code Online (Sandbox Code Playgroud)
后一行是所谓的"条件表达式"(或"条件运算符").如果之前的短语?是真的,它返回之间的部分?和:,否则它返回:.之后的部分.
这里将详细解释.