Функция инвертирования строки - C (СИ)

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

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

функция инвертирования строки аргумента с параметром массива

Решение задачи: «Функция инвертирования строки»

textual
Листинг программы
#include <stdio.h>
#include <string.h>
 
char* Reverse(char text[]) {
    char* begin = text;
    char* end = text + strlen(text) - 1;
    char tmp;
 
    for (; begin < end; ++begin, --end) {
        tmp = *begin;
        *begin = *end;
        *end = tmp;
    }
 
    return text;
}
 
int main() {
    char text[] = "this is test string";
 
    printf("%s\n", Reverse(text));
 
    return 0;
}

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

  1. Подключение необходимых библиотек для работы со строками
  2. Определение функции Reverse, которая принимает строку в виде массива символов и возвращает указатель на начало этой строки
  3. Инициализация двух указателей: begin указывает на первый символ строки, а end указывает на последний символ строки
  4. Создание временной переменной tmp для хранения символов
  5. В цикле происходит обмен символами между указателями begin и end, при этом tmp используется как временное хранилище
  6. В конце функции указатель text возвращается как результат работы функции
  7. В функции main создается строка this is test string
  8. Вызов функции Reverse с передачей в неё строки text
  9. Вывод результата работы функции Reverse на экран
  10. Возврат 0, что означает успешный конец работы программы

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

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