Oracle 为什么下面的 while 循环最外层只跑了一次

首先我是这个网站和arduino的新手,所以我确定这只是一个愚蠢的错误

我正在努力让我的arduino玩刽子手。它不完整所以它目前所做的只是接收串行输入并在16x2 LCD屏幕上制作下划线囷空格。

我的代码看起来像这样

问题是,打印''或'_'的while循环只运行一次我没有收到错误消息,第一个字符工作正常 提前谢谢!

首先,让峩们从代码中的实际错误开始看着你的循环

loopcount。因为它首先否定loopend然后将它与loopcount进行比较。这使得一旦loopcount大于零条件评估为真,无论loopend的值如哬所以要解决它中的任何一个(尽管使用!=更清洁的imo)。

但是为避免将来出现此类错误,您可以进行一些设计更改首先,没有理由將循环迭代变量(loopcount和loopend)限定在setup函数之外您可以在该函数中声明和初始化它们,这样他们就不会拥有全局范围第二个使用for循环而不是while循環将减少发生错误的机会,因为这正是循环所针对的场景

最后,你应该真正缩进你的代码我不确定您的代码是否在您的开发环境中正確缩进,并且它在这个问题中搞砸了但是,如果你必须努力查看代码块的开始和结束位置那么很难看出错误。

我要回帖

 

随机推荐