K&R exercise 3.2 - C (СИ)
Формулировка задачи:
Упражнение 3.2. Напишите функцию escape(s, t), которая при копировании текста из t в s преобразует
такие символы, как новая строка и табуляция в "видимые последовательности символов" (вроде \n и \t).
Используйте инструкцию switch. Напишите функцию, выполняющую обратное преобразование эскейппоследовательностей в настоящие символы.
Аварийный останов программы.
include <stdio.h> #include <stdlib.h> int main() { int c, i=0; char t[200], s[200]; printf ("t: "); while ((c = getchar()) != EOF) { t[i] = c; i++; } t[i] = '\0'; escape (s, t); printf("\ns: "); for (i = 0; s[i] != '\0'; i++) { printf("%c ", s[i]); } return 0; } void escape (char s[], char t[]) { int c, i=0; while ((c = t[i]) != '/0') { switch (c) { case '\t': c = '\\t'; break; case '\n': c = ' \\n'; break; } s[i] = c; i++; } }
Решение задачи: «K&R exercise 3.2»
textual
Листинг программы
if (NULL==s || NULL==t) return;
Объяснение кода листинга программы
- Проверяется условие, что переменные s и t не равны NULL.
- Если условие не выполняется, то происходит возврат из функции.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д