#include <stdio.h> void reverse_string(char *str) { // Your logic here int l=0; int r=0; while(*(str+r)!='\0'){ r+=1; } r-=1; while(l<r){ *(str+l) = (*(str+l))^(*(str+r)); *(str+r) = (*(str+l))^(*(str+r)); *(str+l) = (*(str+l))^(*(str+r)); l++; r--; } } 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