利用双指针翻转字符串
目标:
编写函数reverse_string,其原型为void reverse_string( char *string );
函数把参数字符串中的字符反向排列。要求使用指针而不是数组下标,不能使用任何C函数库中用于操纵字符串的函数
思路:
使用双指针不断向字符串中间推进并进行字符交换,当两个指针相遇或擦肩而过时即停止
代码:
void reverse_string( char *str )
{
char *last_char;
for( lase_char=str;*last_char!='\0';last_char++ )
;
last_char--;
/*交换str和last_char指向的字符,然后str前进一步,
**last_char后退一步,在两个指针相遇或擦肩而过之前重复这个过程
*/
while( str<last_char )
{
char temp;
temp=*str;
*str++ = *last_char;
*last_char-- = temp;
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/153885.html