这段代码为什么输入小于3就会屁股后面出现乱码

题目是输入一个数,然后把数组里那个位置的后面打出来,最后做出来我的输入是要-2才能达到目标,-1可以理解,但为什么要-2

img

i>=m-1; 从第m个,即下标m-1开始读出
i>m-2;等价于i>=m-1,也即从下标m-1开始,也就是从第m开始。
代入数字就知道了。

输出乱码,是因为s2结尾没加空字符'\0'