c - 我的嵌套 if 语句,需要创建一个不间断的条件

标签 c if-statement nested-loops

我一直在尝试对一辆 radio 控制车进行编程,使其根据五个巡线传感器的读数来沿线行驶。

巡线传感器在线上时给出 1,不在线上时给出 0。

例如:如果传感器读数为 00100,汽车就会前进。

当传感器读取到 11111(死胡同)时,我遇到了一个问题。

  • 汽车应该掉头。当它进行掉头操作时,传感器的状况会发生变化。
    • 假设它变成 11000。
  • 这个新值将我带到另一个 if 语句,即 if 11000 向左转并且 uturn 顺序丢失。

问题:当条件改变时,如何使 uturn 的 if 语句不被其他 if 语句打断?

最佳答案

使用 bool 值。

if (sensors == "11111") makingUturn = true

然后

if (sensors == "00100") makingUturn = false

现在,对于所有其他条件,请在继续执行该条件的代码之前检查 makingUturn 是否为 false

注意

如果不是很明显,这并不意味着要编译和执行的实际代码。 if (sensors == "ddddd") 的意思是检查所有 5 个传感器是否都具有字符串每个位置的值。当我说 makingUturn = bool 时,将 bool 替换为 1 或 0,具体取决于您想要 true 还是 false

关于c - 我的嵌套 if 语句,需要创建一个不间断的条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47744098/

相关文章:

c - 为什么 execl 要求我在运行一个进程后点击 "Enter"?

c - parasoft c++ 测试 - 编译内联汇编代码

c++ - C++中的if语句

c++ - 如何插入嵌套 vector 而不使迭代器无效

for-loop - 我如何在 Clojure 中实现将二维数组中的每个元素转换为零的嵌套 for 循环

c - 一个数组影响另一个,两个数组分别声明

c - Linux 串口 : Blocking Read with Timeout

java - 脏话过滤器错误

javascript - 交换后如何重新加载gif?

arrays - 内存 malloc 在 C 中如何工作?//我的代码有什么问题?