#include <stdio.h>
#include <stdint.h>
void my_strlen(char *str, uint16_t *length) {
*length = 0 ;
while (*str != '\0') {
(*length)++; ;
str++;
}
}
void reverse_string(char *str) {
uint16_t length , temp =0 ;
my_strlen(str,&length);
char *start = str ;
char *end = str + (length-1);
while(start < end)
{
temp = *start ;
*start = *end ;
*end = temp;
start++;
end-- ;
}
}
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