evgeniy8705
@evgeniy8705
Повелитель вселенной

Как добавить элемент в массив (Си)?

Есть строка(массив символов). Необходимо обернуть ее. Переберу все символы с конца и буду по одному добавлять в новый массив.
Какая функция отвечает за добавления элементов в массив?

Нормальное ли решение?

char s[100];
int i;

printf("Input str");
gets(s):
for (i = strlen(s)-1; i >= 0; i--) {
  printf("%c". s[i]);
}
  • Вопрос задан
  • 12452 просмотра
Пригласить эксперта
Ответы на вопрос 2
gbg
@gbg
Любые ответы на любые вопросы
Начнем с того, что перевернуть строку задом наперед можно более гуманным способом - пройти с нулевого символа до середины, обменивая - первый с последним, второй - с предпоследним и так далее.
Ответ написан
Fesor
@Fesor
Full-stack developer (Symfony, Angular)
Никакая. Алгоритм действий:

0) Определяем длину строки
1) выделяем память под новую строку
2) устанавливаем счетчик/указатель на нужные символы двух строк (последний символ для первой строки и первый символ для второй строки)
3) заносим символ в нужную ячейку (обычное приравнивание)
4) продолжаем цикл пока не дойдем до конца (или начала строки).
5) возвращаем результат
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы