>>451
こんなのはどうだ。

char *reverse(char *str)
{
char *p;
char c1, c2;

if (strlen(str) < 2) return str;
p = str + strlen(str) - 1;
c1 = *str, c2 = *p;
*p = '\0';
reverse(str + 1);
*p = c1;
*(p + 1) = '\0';
*str = c2;
return str;
}