Дважды дописать первую строку в конец второй - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Введите с клавиатуры две строки символов. Допишите вторую строку в конец первой, после чего повторите эту операцию еще раз. Далее выведите первую строку на экран. (на с)
...

Решение задачи: «Дважды дописать первую строку в конец второй»

textual
Листинг программы
#include <stdio.h>
#include <string.h>
 
#define BUFSIZE 20
#define STRSIZE (BUFSIZE*3)
 
int main(void)
{
    char buf[BUFSIZE];
    char res[STRSIZE];
 
    if (!fgets(res, STRSIZE, stdin))
        return 1;
    res[strcspn(res, "\n")] = 0;
 
    for (int i=0; i<2; i++) {
        if (!fgets(buf, BUFSIZE, stdin))
            return 2;
        buf[strcspn(buf, "\n")] = 0;
        strcat(res, buf);
    }
 
    fputs(res, stdout);
    return 0;
}

Объяснение кода листинга программы

  1. Подключение необходимых библиотек для работы с файлами и строками
  2. Определение размеров буферов для данных
  3. Инициализация пустых буферов для исходной строки и результата
  4. Считывание исходной строки в буфер результата
  5. Удаление символа новой строки из буфера результата
  6. Два цикла по 2 итерации для считывания двух строк из стандартного ввода
  7. В каждой итерации первой строки удаляется символ новой строки
  8. Первая строка добавляется в конец второй строки с помощью функции strcat
  9. Результат выводится на стандартный вывод
  10. Программа завершается возвратом 0, если все операции выполнены успешно, иначе возвращается 1 или 2 в случае ошибок при считывании данных

Оцени полезность:

11   голосов , оценка 4 из 5
Похожие ответы