#include #include /*A really silly way to complete exercise 1-10 of KNR C*/ int main(){ int a = getchar(); /*There is, unfortuately, no immediately obvious way to avoid repeating this since we need to initialize 'a' in order to have valid data for everything beyond this line*/ if (a == EOF){ /*Check whether first character is EOF*/ printf ("Error: No data to parse. \n Exiting."); EXIT_FAILURE; /*Exit if there is no data to parse.*/ } loop_start: /*Goto will circle back to the next line if a != EOF*/ if (a == '\t' || a == '\b' || a == '\\'){ if (a == '\t') printf("\\t"); if (a == '\b') printf("\\b"); if (a == '\\') printf ("\\\\"); } else { putchar(a); } a = getchar(); if (a != EOF) /*Only trigger next loop if 'a' contains valid data.*/ goto loop_start; return 0; }