这段代码试图读取输入字符,遇到句点就停止,并转换字母大小写后输出。但代码的逻辑顺序有问题。
- 你的 `if (c == '.') { break; }` 放在了 `while` 循环之前,此时 `c` 还没有被赋值(未初始化),所以这个判断没有意义,而且 `break` 不能用在循环外面。
- 大小写转换的循环会一直运行到文件结束,不会在遇到句点时停止。
- 提示1:把判断句点的条件移到 `while` 循环内部,在读取字符之后、处理大小写之前检查。
- 提示2:注意 `break` 只能用在循环或 `switch` 语句中,不能放在循环外面。