ale*_*lex 2 c kernighan-and-ritchie
我正在做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;
}
}
}
Run Code Online (Sandbox Code Playgroud)
出于某种原因,它拒绝接触反斜杠.例如,程序输出时输入的字符串Hello how\ are you?就是Hello\thow\ are you?这意味着它转换了选项卡OK,但不是反斜杠.
难道我做错了什么?
你可能想要printf("\\\\");,而不仅仅是printf("\\");.