图一是学过一遍后自己试着写出来的代码,显然是漏洞百出,但确实是自己写出来的。图一在写23这行代码的时候我的想法是:既然最后的结果要打印出来验证,是不是需要一个东西接收它,方便打印,所以就来了个int ret 准备来接收函数的返回值,最终的结果来看应该是多此一举了,从24这行代码来看需要打印验证的只是第一个数组内容,并不是整个函数的返回值, 打印 输出的时候少了一个\n但如果程序对的话应该问题不大 ,可能打印出来不太美观。第9,10,17。也 是一样的 想法 ,既然 要拷贝 过去的话,先定义两个变量代表它们两个,吧一个值换到另一个上去,在返回一个需要验证的值,从最终的结果来看想法也是那么一回事确实需要返回一个值 ,但类型没有写对,从最开始的函数类型开始就都错了 char *
型写成了char 型 ,这里传过去的是元素的首地址应该用指针类型接收吧,要我现在讲的话我也是说不太明白。虽然中间的那一段循环换值没有最终结果那么简洁厉害,但逻辑上应该是对的,assert,const,这样的代码目前大致知道了它们是干啥的,还需要通过学习来掌握它们。如果有什么不对的地方请大家批评指正。