看了 search同学的《不用循环和if判断解决倒序问题》 http://bbs.pediy.com/showthread.php?t=143899,忍不住也来几行代码
(也是递归实现):

代码:
#include <stdio.h>

int StrrevPrint(char *pString)
{
  *pString&&StrrevPrint(pString+1);
  *pString&&printf("%c",*pString);
  return 0;
}

int main(int argc, char* argv[])
{
  char szBuf[1024];
  scanf("%s",szBuf);
  StrrevPrint(szBuf);
  return 0;
}