#include <stdio.h>
void reverse_string(char *str) {
// find length of string
int str_len = 0;
while (str[str_len] != '\0') {
str_len++;
}
str_len -= 1; //exclude \0
int swap_range = (str_len / 2) + (str_len % 2); // for swapping we need half of string's length
char buffer = ' ';
for (int i = 0; i < swap_range; i++) {
buffer = str[str_len - i];
str[str_len - i] = str[i];
str[i] = buffer;
}
}
int main() {
char str[101];
fgets(str, sizeof(str), stdin);
// Remove newline
int i = 0;
while (str[i] != '\0') {
if (str[i] == '\n') {
str[i] = '\0';
break;
}
i++;
}
reverse_string(str);
printf("%s", str);
return 0;
}
Input
firmware
Expected Output
erawmrif