我在做 K&R 的练习 1-10
编写一个程序将其输入复制到其输出,将每个制表符替换为
\t
,每个退格替换为 ,\b
每个反斜杠替换为\\
。这使得制表符和退格键以明确的方式可见。
我想出了这个...
#include <stdio.h>
int main () {
int c;
printf("\n"); // For readability
while ((c = getchar()) != EOF) {
switch (c) {
case '\t':
printf("\\t");
break;
case '\b':
printf("\\b");
case '\\':
printf("\\");
break;
default:
printf("%c", c);
break;
}
}
}
出于某种原因,它拒绝触摸反斜杠。例如,当输入一个字符串时,程序的输出Hello how\ are you?
是Hello\thow\ are you?
,这意味着它转换了制表符,但不是反斜杠。
难道我做错了什么?