#include <stdio.h> #include <assert.h> #include <stdlib.h> int my_strlen(const char * str)//计算字符串的长度 { assert(str); int count = 0; while (*str) { count++; str++; } return count; } char * reverse_string(char * string) { assert(string); int len = my_strlen(string); char temp = 0; if (len > 0) { temp = string[0]; string[0] = string[len - 1]; string[len - 1] = ‘\0‘; //递归调用,限制条件len>0 ,每次调用的变化str++; reverse_string(string + 1); string[len - 1] = temp; } return string; } int main() { char str[] = "!emrgirp siht esu ot emoclew"; printf("%s\n", reverse_string(str)); system("pause"); return 0; }
编写一个函数reverse_string(char * string)(递归实现)
原文:http://10788311.blog.51cto.com/10778311/1716523