手机
当前位置:查字典教程网 >编程开发 >C语言 >使用C语言递归与非递归实现字符串反转函数char *reverse(char *str)的方法
使用C语言递归与非递归实现字符串反转函数char *reverse(char *str)的方法
摘要:代码如下所示:复制代码代码如下://递归实现字符串反转char*reverse(char*str){if(!str){returnNULL;...

代码如下所示:

复制代码 代码如下:

// 递归实现字符串反转

char *reverse(char *str)

{

if( !str )

{

return NULL;

}

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;

}

// 非递归实现字符串反转

char *reverse(char *str)

{

if( !str )

{

return NULL;

}

int len = strlen(str);

char temp;

for( int i = 0; i < len / 2; i++ )

{

// 交换前后两个相应位置的字符

temp = *(str + i);

*(str + i) = *(str + len - 1 - i);

*(str + len - 1 - i) = temp;

}

return str;

}

int _tmain(int argc, _TCHAR* argv[])

{

char src[] = {"abcdef"};

char *pdest = reverse(src);

getchar();

return 0;

}

【使用C语言递归与非递归实现字符串反转函数char *reverse(char *str)的方法】相关文章:

c语言中用字符串数组显示菜单的解决方法

使用C语言实现CRC校验的方法

使用C# 判断给定大数是否为质数的详解

自己实现strcpy函数的实现方法

利用C语言实践OOP,以及new,delete的深入分析

用C++实现,将一句话里的单词进行倒置的方法详解

C中实现矩阵乘法的一种高效的方法

C++实现基数排序的方法详解

用C实现添加和读取配置文件函数

全排列算法的非递归实现与递归实现的方法(C++)

精品推荐
分类导航