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