if (cross(s, t))>>0{
printf("turns to the left\n");
} else if (cross(s, t))==0{
printf("points are co-linear\n");
} else (cross(s, t))<<0 {
printf("turns to the right\n");
}
我之前已经声明了交叉函数,任何帮助都会很棒!
最佳答案
假设cross
返回int
,您的条件中的右括号位于错误的位置
if (cross(s, t))>>0{
应该是
if (cross(s, t)>>0){
// ^
等等
此外,正如 Jeff Mercado 所指出的,如果您想测试小于/等于/大于零,您应该使用 <
, ==
, >
分别。
使用>>
或<<
执行按位移位;这留下了一个测试,即位移零位,然后对任何非零答案返回 true。这可能不是您想要的。
关于c ->> 标记之前的预期表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19732355/