Язык программирования Си, гл.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);
}