慕虎7371278
举个形象点的例子:输入12345.输出.54321这是一个递归函数,再次调用的时候,对程序而言,旧的reverse函数运行状态已经被保存在堆栈中了,因而局部变量ch不会被覆盖。就好像有六本一样的书,都叫reverse,第一本书上我写1,放到桌上,第二本同样的位置写2,放到第二本书上,此时,第二本上的2并不会覆盖第一本上的1。第三本写3,放到第二本...直至第五本。第六本写上.现在开始输出,把六本书一本本拿起,首先,我看到了第六本上的.,拿走第六本,然后看到第五本上的5,拿走,然后是第四本上的4,再拿走...最后拿走第一本拿走时我看到的顺序就是.54321修改成'\n'会失败的原因是cin>>会自动忽略空白字符(' ','\t','\n'),所以程序永远无法获取'\n‘,这个放书的过程也永远不会结束。建议详细学习一下程序堆栈的原理,就好理解了,这里不好细讲。