#include <stdio.h>
void swap(char* a, char* b){
char tmp = *a;
*a = *b;
*b = tmp;
}
int strlen(const char* s){
int len = 0;
while(*s != '\0'){
len++;
s = s + 1;
}
return len;
}
void reverse_string(char *str) {
// Your logic here
int len = strlen(str);
char* rear = str + len - 1;
for(int i = 0; i < len / 2; i++){
swap(str, rear);
str = str + 1;
rear = rear - 1;
}
}
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