Дважды дописать первую строку в конец второй - 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;
}
Объяснение кода листинга программы
- Подключение необходимых библиотек для работы с файлами и строками
- Определение размеров буферов для данных
- Инициализация пустых буферов для исходной строки и результата
- Считывание исходной строки в буфер результата
- Удаление символа новой строки из буфера результата
- Два цикла по 2 итерации для считывания двух строк из стандартного ввода
- В каждой итерации первой строки удаляется символ новой строки
- Первая строка добавляется в конец второй строки с помощью функции strcat
- Результат выводится на стандартный вывод
- Программа завершается возвратом 0, если все операции выполнены успешно, иначе возвращается 1 или 2 в случае ошибок при считывании данных