数组方面的问题,求解

函数中for循环i>0那么原来的str[0]为什么还能输出啊

img

首先要看代码实现的功能是什么,要求是在已有字符串的每个字符之间插入一个空格,显然第0个字符是不需要动的
实际代码用for循环,从字符串最后一个字符开始向后移动下标倍数位置,然后在其之前的位置写入一个空格。由于第0个字符不需要动,所以只要到i>0就可以了
for循环i>0,和str[0]能不能输出没有任何关系啊,for循环只是插入数据,str[0]永远存在,为啥不能输出呢

代码功能归根结底不是别人帮自己看或讲解或注释出来的;而是被自己静下心来花足够长的时间和精力亲自动手单步或设断点或对执行到某步获得的中间结果显示或写到日志文件中一步一步分析出来的。
提醒:再牛×的老师也无法代替学生自己领悟和上厕所!
单步调试和设断点调试(VS IDE中编译连接通过以后,按F10或F11键单步执行,按Shift+F11退出当前函数;在某行按F9设断点后按F5执行停在该断点处。)是程序员必须掌握的技能之一。