虽然循环没有破坏它应该

时间:2017-11-29 16:10:43

标签: while-loop arduino

由于某种原因,while循环仅在到达字符串末尾时结束。

while (s.charAt(i) != '_' || s.charAt(i) != ' ') {
  Serial.println(s.charAt(i));
  Next_Char += s.charAt(i);
  i ++;
  Serial.println(Next_Char);
  Serial.println(i);
  if (i == s.length()) {
    break;
  }
}

1 个答案:

答案 0 :(得分:1)

while (s.charAt(i) != '_' || s.charAt(i) != ' ')条件将永远满足。我认为它应该是while (s.charAt(i) != '_' && s.charAt(i) != ' ')

例如,假设s.charAt(i)='_'这里你的第一个条件现在是假的,但是你的第二个条件s.charAt(i)!=' '变为真,所以即使第一个条件为假,循环也会继续。因此while loop仅在到达字符串末尾时结束。