c语⾔写⼀个函数将字符串反转,c–编写⼀个反转输⼊字符串的
递归函数
我⼀直在阅读C For Everyone⼀书,其中⼀个练习说是写⼀个函数字符串reverse(string str),其中返回值是str的反向.
有⼈可以写⼀些基本代码并向我解释⼀下吗?从昨天开始我就⼀直盯着这个问题⽽⽆法理解.我得到的最远的是函数返回str的第⼀个字母(我仍然不知道它是怎么发⽣的)
这是我得到的(发布此问题后⼀⼩时):
string reverse(string str)
{
string word = "";
if (str.length() <= 1)
{
return str;
}
else
{
string str_copy = str;
int n = str_copy.length() - 1;
string last_letter = str_copy.substr(n, 1);
str_copy = str_copy.substr(0, n);
word += reverse(str_copy);
return str_copy;
}
return word;
递归函数c语言规则}
如果我输⼊“狼”,它将返回Wol.有⼈帮帮我
如果我返回单词⽽不是返回str_copy,那么我得到⼀个w
如果我返回last_letter,那么我得到⼀个l
解决⽅法:
我将解释递归算法本⾝.以“输⼊”为例,它应该产⽣“tupni”.您可以通过递归⽅式反转字符串
>如果字符串为空或单个字符,请将其保持不变.
>否则,
>删除第⼀个字符.
>反转剩余的字符串.
>将上⾯的第⼀个字符添加到反转字符串中.
>返回新字符串.
标签:c,recursion,reverse
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论