#include <stdio.h>
void reverse_string(char *str) {
// Your logic here
int str_len =0;
char *pointer = str;
while(*pointer!='\0')
{
pointer++;
str_len++;
}
// printf("str_len=%d\n",str_len);
for (int i=0; i<str_len/2; i++)
{
char a = *(str+i);
*(str+i) = *(str+((str_len-1)-i));
*(str+((str_len-1)-i)) = a;
// printf("*(str+i)=%c *(str+((str_len-1)-i))=%c\n",*(str+i),*(str+((str_len-1)-i)));
}
}
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