#include <stdio.h> int string_len(char *str){ int len = 0; while(*str != '\0'){ len++; str++; } return len; } void reverse_string(char *str) { char *end = (str + string_len(str) -1); while(str<end){ *str ^= *end; *end ^= *str; *str ^= *end; str++; end--; } return; } 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; }
Test Cases
Test Results
Input
firmware
Expected Output
erawmrif