这是一个半完成的代码,当输入为:i1 = 3,i2 = 5,i3 = 7时,我坚持使用。
#include < iostream >
#include < string >
#include < vector >
#include < algorithm >
#include < cmath >
using namespace std;
//Comparing Integers
int main()
{
int i1;
int i2;
int i3;
cout << "Enter 3 integers: ";
cin >> i1 >> i2 >> i3;
int diff_3_1 = i3 - i1;
int diff_3_2 = i3 - i2;
if (diff_3_1 >> diff_3_2){
cout << i1 << " is smaller than " << i2 << '\n';
}
if (diff_3_1 << diff_3_2){
cout << i2 << " is smaller than " << i1 << '\n';
}
}
打印出两个'if'运算符的输出。我找不到错误。我知道用'else if'替换第二个运算符会起作用。但是,在这种情况下,我想知道我的错误。
结果:
i1 = 3,i2 = 5,i3 = 7
diff_3_1 = 4,diff_3_2 = 2
第一个声明: diff_3_1&gt;&gt; diff_3_2,(这是真的)
因此,“3小于5”被打印。
但是,
第二声明: diff_3_1&lt;&lt; diff_3_2,(这是假的)
打印出来,“5小于3”。
答案 0 :(得分:2)
>>
不是比较,它有点转变。 >
大于。