Разный вывод (printf) табуляции (\t) ветвлений (if-if-if-else) и (if-elseif-elseif-else) - C (СИ)
Формулировка задачи:
Почему результатом выполнения А результатом P.S.: Только что начал обучение, читаю книгу "Язык программирования Си" Брайан Керниган, Деннис Ритчи
Там задание: Упражнение 1.10. Напишите программу, копирующую вводимые символы в выходной поток с заменой
символа табуляции на \t, символа забоя на \b и каждой обратной наклонной черты на \\. Это сделает
видимыми все символы табуляции и забоя.
Объясните пожалуйста на пальцах что в какой строчке "идет не так".
нижеследующего
кода при вводе, например: "qwe[кнопка_tab]qwe
" консоль (linux) отображаетслитно
: "qwe\tqwe
"?#include <stdio.h> int main(){ int ch = 0; while ((ch=getchar())!=EOF){ if (ch == '\t') printf("\\t"); else if (ch == '\b') printf("\\b"); else if (ch == '\\') printf(""); else putchar(ch); } }
нижеследующего
получаетсяраздельный
вывод в консоли "qwe\t qwe
" -#include <stdio.h> int main(){ int ch = 0; while ((ch=getchar())!=EOF){ if (ch == '\t') printf("\\t"); if (ch == '\b') printf("\\b"); if (ch == '\\') printf(""); else putchar(ch); printf("\a"); } }
Решение задачи: «Разный вывод (printf) табуляции (\t) ветвлений (if-if-if-else) и (if-elseif-elseif-else)»
textual
Листинг программы
while ((ch=getchar())!=EOF){ if (ch == '\t') printf("\\t"); if (ch == 'о') printf("оооооо"); else putchar(ch); }
Объяснение кода листинга программы
- Вводимые данные считываются с помощью функции getchar() в переменную ch до тех пор, пока не достигнут конец файла (EOF).
- Если значение переменной ch равно табуляции ('\t'), то выводится соответствующий символ '\t'.
- Если значение переменной ch равно 'о', то выводится символ 'оооооо'.
- В противном случае значение переменной ch выводится с помощью функции putchar().
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д