我无法理解此代码中compare(a,b)=-1;
的作用。我所看到的是,这个值(-1)被分配给较低的编号。变量
#include <iostream>
#include <stdlib.h>
using namespace std;
int &compare(int &c ,int &d) {
if (c>d)
return c;
else
return d;
}
int main(int argc, char const *argv[]) {
int a,b,j;
std::cin >> a>>b;
compare(a,b)=-1;
std::cout <<a<<b<<std::endl;
}
答案 0 :(得分:1)
该函数返回对较大参数的引用,以便可以对其进行修改。
如果compare(a,b)
(分别为a
)大于b
,则 a
会返回对b
(分别为b
)的引用( resp。a
),compare(a,b) = -1
将-1
分配给函数结果(最大元素)。
例如:
a = 1;
b = 2;
compare(a,b) = -1;
在此之后我们有:a=1, b=-1
。