将二进制文件的操作数无效

时间:2016-03-31 05:36:59

标签: c

我是初学者,我正在使用dev c ++。我正在尝试编写一个函数来确定它所在的象限。它相当简单,但我收到错误[错误]无效的操作数到二进制<< (有'浮动'和' int')

#include <stdio.h>
int quadrant (float i, float j);
int main()
{
    float a,b;
    int c;
    scanf ("%f,%f",&a,&b);
    c=quadrant(a,b);
    printf("the given point lies in %d quadrant",c);
    return 0;
}
int quadrant (float i, float  j)
{
    if (i>>0 && j>>0)
    return 1;
    else if (i>>0 && j<<0)
    return 4;
    else if (i<<0 && j>>0)
    return 2;
    else if (i<<0 && j<<0)
    return 3;
    else
    return 0;
}

是因为浮点数不能与二进制操作数一起使用吗? 我用浮动替换浮点数,所有的浮点数。这次我编译时得到错误ID:返回1状态。 我的代码出了什么问题?

1 个答案:

答案 0 :(得分:0)

比较运算符< , > , <= , >= , !=和位运算符<< >>之间的混淆。用相应的比较运算符替换你的Bitwise运算符。

int quadrant (float i, float  j)
{
    if (i>0 && j>0)
    return 1;
    else if (i>0 && j<0)
    return 4;
    else if (i<0 && j>0)
    return 2;
    else if (i<0 && j<0)
    return 3;
    else
    return 0;
}