由于某种原因,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;
}
}
答案 0 :(得分:1)
while (s.charAt(i) != '_' || s.charAt(i) != ' ')
条件将永远满足。我认为它应该是while (s.charAt(i) != '_' && s.charAt(i) != ' ')
例如,假设s.charAt(i)='_'
这里你的第一个条件现在是假的,但是你的第二个条件s.charAt(i)!=' '
变为真,所以即使第一个条件为假,循环也会继续。因此while loop
仅在到达字符串末尾时结束。