字符串逆转函数_INTEL2014笔
完成字符串逆转函数的实现
- // 递归实现字符串反转
- 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;
- }
转自:http://blog.csdn.net/ameyume/article/details/5599139
还没有评论,来说两句吧...