#include #include char * rev(char *s) { int l = strlen(s); char res[l+1]; int k = 0; for (int i = l-1; i >= 0; i--) { // unsigned not! res[k] = s[i]; k++; } res[l] = 0; return res; } void rev_inplace(char *s) { char temp; int j = strlen(s)-1; for (int i = 0; i <= j; i++) { temp = s[i]; s[i] = s[j]; s[j] = temp; j--; } } int main(void) { char *s = "Asdf"; printf("%s\n", s); char *r = rev(s); printf("%s\n", r); char t[] = "fdsA"; rev_inplace(t); printf("%s\n", t); return 0; }