我这里复制的基点是s2+1,那是不是也就是s2地址目前存放的是系统默认的\0,那puts函数遇到\0不就换行并且不输出吗?为什么还能正常输出"key"? •́.•̀
因为你的s1和s2都没有初始化,所以数组里面的数字是多少跟编译器有关。
而如果没有初始化,vs下面默认值是54,所以输出就会变成这样:
数组没有初始化,里面是个随机数很显然你随机到了一个换行符你没事在前面加个int a,多编译几遍,运行看看,应该每次都不一样