我正在使用ROBOTC对我的机器人进行编程,我正在使用其他人构建的一些代码在函数中,我看到一行:

int leftDir = (left>0)*2-1;

leftDir初始化为整数,那么>做什么?我认为这是一个二进制移位,但我不确定。有人能解释一下吗?
谢谢。

最佳答案

>greater than运算符。在C中,比较的结果要么是1表示true,要么是0表示false。换句话说,上述代码在逻辑上等同于(但更紧凑):

int leftDir;

if (left > 0) {
    leftDir = 1;
} else {
    leftDir = -1;
}

关于c - ROBOTC-不确定>表示法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19597620/

10-10 16:02