方法一:(C语言实现) 递归
#include <stdio.h>
void reverse_str(char *p);
int main()
{
char str[80];
gets(str);
reverse_str(str);
return 0;
}
void reverse_str(char *p)
{
if(*p)
{
reverse_str(++p);
p--;
putchar(*p);
}
}
方法二:(c++实现)常规方法:首尾交换(用了引用)
#include <iostream>
#include <string>
using namespace std;
void reverse_string(string &str)
{
int n=str.length();
int i;
char t;
for(i=0;i<n/2;i++)
{t=str[i];
str[i]=str[n-i-1];
str[n-i-1]=t;
}
}
int main(int argc, char const *argv[])
{
string str;
getline(cin, str); //输入字符串
reverse_string(str); //逆序字符串str
cout << str << endl; //输出逆序后的字符串
return 0;
}
方法三:最简单的,如果题目没输出要求,用c++中的string类从最后一位向前依次打印即可。