Язык программирования Си, гл.1, упражнение 1.10 (Getchar и Putchar)

Я работал над этим 2 часа, и я застрял ... Я нашел ответ в Интернете, но это не поможет мне понять концепцию, которую я, очевидно, упускаю.

Незамедлительный: Напишите программу, которая будет копировать входные данные на выход, заменяя каждую вкладку на\t каждый забой\b и каждый обратный слеш\\ , Это делает вкладки и символы возврата видимыми однозначно.

Вот то, что я придумал, это не заменяетtab или же\ с указаннымputchar, он просто добавляет его перед ним (я не делал backspace, потому что я не могу действительно ввести backspace ...):

Вот как я читаю код. Что мне не хватает?

"Есть некоторое целое числоc. c равно входу. Когда ввод не равен концу файла, продолжить. Если вход является вкладкой, то вывод\t, Если вход\ затем вывод\\, Вывести ввод на консоль. "

int c;

while((c=getchar())!=EOF)
{
    if(c=='\t')
        {
            putchar('\\');
            putchar('t');
        }

    if(c=='\\')
        {
            putchar('\\');
            putchar('\\');
        }
    putchar(c);
}

Ответы на вопрос(4)

Ваш ответ на вопрос