gpt4 book ai didi

c - 如何打破 C 中的无限 for(;;) 循环?

转载 作者:太空狗 更新时间:2023-10-29 16:45:30 24 4
gpt4 key购买 nike

我有一个至关重要的无限循环,它允许传感器不断更新其值。但是,当另一个传感器引入新值时,我想打破 for 循环。如何从一个无限循环切换到另一个无限循环?

当前代码:

for(;;){

SON_Start();
// Wait 65ms for max range time
delay10ms(7);
// Read Range
i = SON_Read(SON_ADDRESSES[sonarReading]);
// pause
delayMs(100);
if(i<15)
drive(200, RadCW);

}

我想补充的是:

如果 Sensor2 返回一个读数(例如 Sensor2 > 20),那么我想打破循环并转到另一个无限循环以开始一个新函数。

最佳答案

如果您正在寻找“在 2 个无限循环之间切换”,它可能会被第三个循环“包裹”,并且这种“切换”可以通过简单的 break 来完成。

但是因为你希望你的程序有一天停止,这个循环可以放在函数中,你可以使用 return; 来结束它:

void myMagicLoop()
{
for(;;)
{
for(;;)
{
if ( I should stop )
return;

if ( I should switch to second loop )
break;
}
for(;;)
{
if ( I should stop )
return;

if ( I should switch back to first loop)
break;
}
}
}

在某个地方你只需调用:

myMagicLoop();

希望这对您有所帮助。

关于c - 如何打破 C 中的无限 for(;;) 循环?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9259648/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com