(承上篇)
新加的这几行代码完成字符串的移动。这样,代码基本上写完了,结果对不对呢?CTRL+F7编译一下。
结果是完全不对的。我们来分析一下,输入是这个,全部代码都是黑色,表示都执行到了,跟我设想的一样。问题在哪里呢?
看一下计算左边空格的代码,经过计算后,指针偏移了,所以后面的计算,使用的是不正确的指针。
我们把指针先保存一下,第二次计算前再恢复回来。看看结果怎么样。
现在,参数的输出是正确的了。但是,返回值还是不对,返回值应该跟参数一样。分析一下,经过这里的计算后,指针再次偏移了,返回前没有恢复,所以,返回的是不正确的指针。