Как дописать в переменную не перезаписывая - C (СИ)
Формулировка задачи:
Извиняюсь за глупый вопрос, можно ли без использования списка дописывать в переменную новые значения через перенос строки?
Я так понимаю тут нужен массив? Как с ним сделать подобное?))
Решение задачи: «Как дописать в переменную не перезаписывая»
textual
Листинг программы
#include <stdio.h>
#include <string.h>
#define N 100
int main(void)
{
char str[N];
char *ptr = str;
for (int i=5; i<=30; i+=5)
ptr += sprintf(ptr, "%d\n", i);
puts(str);
}
Объяснение кода листинга программы
В этом коде:
- Объявлены две переменные:
str(строка символов) иptr(указатель на первый элемент строкиstr). - Задаётся значение переменной
iравное 5, затем циклforвыполняется до тех пор, пока значениеiменьше или равно 30. Каждый раз, когда цикл выполняется, значениеiувеличивается на 5. - Внутри цикла выполняется функция
sprintf, которая записывает в переменнуюptrстроку, представляющую значениеi, и затем увеличиваетptrна длину этой строки. Это позволяет добавлять новые строки кstr, не перезаписывая старые. - После окончания цикла выполняется функция
puts, которая выводит содержимое переменнойstr.