Функция инвертирования строки - 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; }
Объяснение кода листинга программы
- Подключение необходимых библиотек для работы со строками
- Определение функции Reverse, которая принимает строку в виде массива символов и возвращает указатель на начало этой строки
- Инициализация двух указателей: begin указывает на первый символ строки, а end указывает на последний символ строки
- Создание временной переменной tmp для хранения символов
- В цикле происходит обмен символами между указателями begin и end, при этом tmp используется как временное хранилище
- В конце функции указатель text возвращается как результат работы функции
- В функции main создается строка
this is test string
- Вызов функции Reverse с передачей в неё строки text
- Вывод результата работы функции Reverse на экран
- Возврат 0, что означает успешный конец работы программы