字符串系列之:逆序输出字符串

字符串的各种操作向来也是面试官的最爱,从简单的开始:逆序输出字符串。

实现1:

   1: void reverse(const char *str)
   2: {
   3:     ssize_t i;
   4:     size_t len = strlen(str);
   5:     
   6:     for (i = len; i >=0; --i) {
   7:         printf("%c", *(str + i));
   8:     } 
   9:     printf("\n");
  10: }

这里要注意的是循环变量i一定要声明成带符号类型的, 否则就会陷入死循环了。

实现2:

递归版本

   1: void reverse(const char *str)
   2: {
   3:     if (*str) {
   4:         if (*(str+1)) {
   5:             reverse(str+1);
   6:         }
   7:         printf("%c", *str);
   8:     }
   9: }

 

posted @ 2012-04-30 11:43  Newerth  阅读(2771)  评论(0编辑  收藏  举报