#include <stdio.h>
int myStrLen(const char *str) {
const char *p = str;
while (*p) {
p++;
}
return p - str;
}
void reverse_string(char *str) {
// Your logic here
if (!str || !*str) return;
char *left = str;
char *right = str + myStrLen(str) - 1;
while (left < right) {
char temp = *left;
*left = *right;
*right = temp;
left++;
right--;
}
}
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