我正在用 C 语言创建一个荒谬的简单程序来处理getchar()
. 该程序将打印出您输入的内容,直到您按下回车键,它会保证您的每行不超过 80 个字符。为此,我不断计算输入了多少个字符。一旦字符数达到 70,遇到的下一个空格将导致换行。如果在 70-80 之间没有遇到空格,则无论如何都会发生换行符。我意识到这是一个超级幼稚的实现,可以左右优化,但请记住,我只是在胡闹:
while ((c = getchar()) != '\n') {
if (lineLengthCount < 70) {
putchar(c);
lineLengthCount++;
}
else if (lineLengthCount < 80 && (c == ' ')) {
printf("%c\n", c);
lineLengthCount = 0;
}
else {
printf("%c\n", c);
lineLengthCount = 0;
}
}
问题是c == ' '
条件似乎实际上并没有检查空格。我得到这样的输出:
fitter happier more productive comfortable not drinking too much regula
r exercise at the gym three days a week getting on better with your ass
ociate employee contemporaries at ease eating well no microwaved dinner
我希望在遇到空格时会截断这些行。相反,无论在第 70 行之后输入什么字符,都会创建一个新行。我错过了什么吗?' '
真的意味着任何字符吗?