>>717
再帰は遅いしCRTリンクを必然にしてしまうからあんまり感心しない。
大体にそれは逆順にstdoutに出力してるだけ。文字列の反転じゃないじゃん。

おもいっきし愚直に書けばこうかな。

#include <string.h>

void strrev(char *str)
{
  char* p1 = str;
  char* p2 = str + strlen(str) -1;
  char tmp;
  while (p1 < p2) {
    tmp = *p1;
    *p1 = *p2
    *p2 = tmp;
    p1++;
    p2--;
  }
}