我正在使用ROBOTC来编程我的机器人,而我正在使用其他人构建的代码.在一个函数中,我看到了这一行:
int leftDir = (left>0)*2-1;
Run Code Online (Sandbox Code Playgroud)
leftDir被初始化为一个整数,那么它做了>什么?我的印象是二元转换,但我不确定.有人可以解释一下吗?谢谢.
的>是greater than运营商.在C中,比较的结果是1for true或0for false.换句话说,上面的代码在逻辑上等同于(但更紧凑):
int leftDir;
if (left > 0) {
leftDir = 1;
} else {
leftDir = -1;
}
Run Code Online (Sandbox Code Playgroud)