El lenguaje de programación C, Ch.1 Ejercicio 1.10 (Getchar y Putchar)

He estado trabajando en esto durante 2 horas y estoy atrapado ... Encontré la respuesta en línea, pero eso no me ayudará a aprender el concepto que obviamente me estoy perdiendo.

Rápido: Escriba un programa para copiar su entrada a su salida, reemplazando cada pestaña por\t , cada retroceso por\b y cada barra invertida por\\ . Esto hace que las pestañas y los espacios de fondo sean visibles de manera inequívoca.

Esto es lo que se me ocurrió, no reemplaza untab o\ con lo indicadoputchar, solo lo agrega al frente (no hice retroceso porque realmente no puedo ingresar un retroceso ...):

Así es como leo el código. ¿Qué me estoy perdiendo?:

"Hay algún número enteroc. c es igual a la entrada. Cuando la entrada no es igual al final del archivo, continúe. Si input es tab, entonces la salida\t. Si la entrada es\ luego salida\\. Salida de la entrada a la consola ".

int c;

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

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

Respuestas a la pregunta(4)

Su respuesta a la pregunta