c语言用递归逆序输出字符串 这个原理是什么,为什么输入回车之后可以逆序输出,不要模棱两可。
展开全部
看看print这个函数,首先我进去这个函数,然后输入一个字符,if条件判断是不是回车,假如不是回车,那么下一步就执行if里面的内容---到这可以理解吧;
if中的第一个语句是print函数是不是,然后再次进入步骤1;输入一个字符,然后判断回车,不是回车然后继续输入----到这里明白吧!
我输入好多好多,在最后一个中我输入回车;然后if判读,是回车函数结束,返回------到这里还可以明白吧!
关键在于最后一次我输入回车后函数结束后返回哪里了;递归就是不停的调用自己,,假设我输入了n个字符,第n次输入回车(就像步骤3);那么函数返回,应该是返回到第n-1个字符函数,既然n-1中的print函数执行完毕,那么下一步就是输出字符,输出完毕后n-1函数执行完毕,下一步就是返回n-2函数,然后输出...以次类推.....
不知道能明白吗?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询