使用'if'语句和'<<','>>'时出现结果错误运算符比较3个整数

时间:2015-05-26 05:03:46

标签: c++ if-statement

这是一个半完成的代码,当输入为: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”。

1 个答案:

答案 0 :(得分:2)

>>不是比较,它有点转变。 > 大于。