В строке символов переставить местами значения четных и нечетных битов - C (СИ)
Формулировка задачи:
Напишите пожалуйста программку на С, задание в заголовке, желательно с пояснениями.
Решение задачи: «В строке символов переставить местами значения четных и нечетных битов»
textual
Листинг программы
#include <stdio.h>
#include <string.h>
void swap(char *a, char *b)
{
char t = *a;
*a = *b;
*b = t;
}
int main(void)
{
char str[] = "1254szaddvg45";
size_t i;
for (i = 1; i < strlen(str); i += 2)
{
swap(&str[i], &str[i-1]);
}
printf("%s", str);
return 0;
}
Объяснение кода листинга программы
В этом коде происходит следующее:
- Создаются две функции:
swapиmain. - В функции
swapпроисходит обмен значениями двух указателей на символы. - В функции
mainсоздаётся строка символов1254szaddvg45и инициализируется массивstr. - Затем в цикле
forс шагом 2 происходит обмен значениями символов в строкеstr. - В конце программы выводится на экран результат с помощью функции
printf. - Программа завершается возвратом значения 0.