>>528
ごめん、ちょっと変える。
#include <stdio.h>
#define END (-1)

void reverse(int data[]) {
  void aux(int idx) {
    if (data[idx] != END) {
      int tmp = data[idx];
      aux(idx + 1);
      *data++ = tmp;
    }
  }
  aux(0);
}

int main(void)
{
  int data[] = {1,2,3,4,5,6,7,8,9,-1};
  int i, len = sizeof(data)/sizeof(data[0]);
  void print(void) {
    for (i = 0; i < len; i++) printf(" %d", data[i]);
    puts("");
  }
  
  print();
  reverse(data);
  print();

  return 0;
}