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?
isのような文字列が与えられたときのプログラムからの出力はHello\thow\ are you?
、タブは OK に変換されましたが、バックスラッシュは変換されなかったことを意味します。
私は何か間違ったことをしていますか?