void reverse(char *s, bool initial)
{
  static char *p = NULL;

  if (initial)
    p = s;
  if (*s != '\0') {
    int c;

    c = *s;
    reverse(s + 1, false);
    *p++ = c;
  }
}
本物の学生より