使用C/C++实现对字符串的反转(递归和非递归)
这是非递归的: /*实现字符串翻转*/ char * reverse_str( char * str) { if (NULL == str) //字符串为空直接返回 { return str; } char *begin; char *end; begin = end = str; while (*end != '\0' ) //end指向字符串的末尾 { end++; } --end; char temp; while (begin < end) //交换两个字符 { temp = *begin; *begin = *end; *end = temp; begin++; end--; } return str; //返回结果 } void main() { char str[] = "123456" ; printf(reverse_str(str)); } 递归的: char *reverse(char *str) { int len = strlen(str); if( len > 1 ) { char ctemp =str[0] ; str[0] = str[len-1]; str[len-1] = '\0'; reverse(str+1); str[len-1] =ctemp; } return str; } 来源: CSDN 作者: 无为小青年15 链接: https: