我是初学者,我正在使用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状态。 我的代码出了什么问题?
答案 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;
}