C语言实现字符串反转,是C语言面试中比较常见的一个问题,这里提供一种实现方法!供大家参考!
折半替换法,即定义一头一尾指针,同时向中间走,二者互换,相遇即为互换完毕!
测试函数
这个实现函数是没有问题的,而测试函数有问题,你知道为什么吗??
原因就在于 char *str = "abcdefg";这样定义的话,会使得str默认转换为const型,即不允许被修改,故而有错!
改成,char str[] = "abcdefg";就OK了!
这也是在使用 char *str 与 char str[] 的一个区别吧!!
还有一种实现方法,也比较常见.就是使用栈,先进后出这个特点实现.
最后,给出官方代码(传说是):
思想就是头尾互换罢!
本文介绍两种C语言中实现字符串反转的方法:一是通过头尾指针互换的方式;二是利用栈的特点进行反转。并分析了一段示例代码中存在的问题及其解决办法。
2424

被折叠的 条评论
为什么被折叠?



