【发布时间】:2019-09-18 12:23:13
【问题描述】:
我正在阅读/练习这本关于 C 语言的书:“C Programming - A Modern Approach 2”,我偶然发现了这段代码,它的解释对我来说很奇怪:
由于 scanf 通常不会跳过空格,因此很容易检测到输入行的结尾:检查字符是否刚好 read 是 换行 字符。例如下面的循环 将读取并忽略当前输入中的所有剩余字符 行:
do {
scanf("%c", &ch);
} while (ch != '\n');
当 scanf 下次调用时,会读取下一个输入行的第一个字符。
我了解代码的功能(它会在检测到 enter 或'\n' 时退出循环)但不了解课程(?)。
这样做的目的是什么,因为要将用户的输入存储到&ch 中,您必须按 enter 键(退出循环)?
“以下循环将读取并忽略当前输入行中的所有剩余字符”实际上是什么意思?
【问题讨论】: