C ++程序使用递归来反转句子
字符串是一维字符数组,以空字符结尾。字符串的反序是相同字符串的相反顺序。例如。
Original String: Apple is red Reversed String: der si elppA
给出了使用递归来反转字符串形式的句子的程序。
示例
#include <iostream>
using namespace std;
void reverse(char *str) {
if(*str == '\0')
return;
else {
reverse(str+1);
cout<<*str;
}
}
int main() {
char str[] = "C++ is fun";
cout<<"Original String: "<<str<<endl;
cout<<"Reversed String: ";
reverse(str);
return 0;
}输出结果
Original String: C++ is fun Reversed String: nuf si ++C
在上面的程序中,该函数reverse()是递归函数,它可以反转字符串。
最初reverse()接受*str,它是指向字符串开头的指针。如果该值为null,则函数返回。如果不是,则该函数以值str+1递归调用自身,即字符串中的下一个元素。最终,当str为null时,将str的值打印回前。因此,将打印反转的字符串。以下代码段显示了这一点。
if(*str == '\0')
return;
else {
reverse(str+1);
cout<<*str;
}在main()函数中,字符串被初始化。此外,还会显示原始字符串和反向字符串。这显示如下-
char str[] = "C++ is fun"; cout<<"Original String: "<<str<<endl; cout<<"Reversed String: "; reverse(str);
热门推荐
10 对患者生日祝福语简短
11 结婚祝福语简短装备
12 周岁祝福语学生文案简短
13 订婚领证祝福语简短精辟
14 导师获奖祝福语大全简短
15 新婚购房祝福语简短精辟
16 牛年祝福语简短的爱人
17 送芒果的祝福语简短
18 送给学长毕业祝福语简短