使用库函数
//使用库函数
#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
int main()
{
string str;
cin>>str;
//调用reverse函数进行反转
reverse(str.begin(), str.end());
cout<<str<<endl;
return 0;
}
手写函数实现(常规思路)
#include<iostream>
#include <string.h>
using namespace std;
void Reverse(char *str)
{
if(NULL == str)
{
return ;
}
char *pBegin = str;
char *pEnd = str + strlen(str) - 1;
char tmp;
while(pBegin < pEnd)
{
tmp = *pBegin;
*pBegin = *pEnd;
*pEnd = tmp;
pBegin ++, pEnd --;
}
}
int main()
{
char str[] = "123456789";
cout<<str<<endl;
Reverse(str);
cout<<str<<endl;
}
使用递归
如果要的是简单的逆向输出的话,可以和链表的反向输出一样,使用递归或栈,下面是递归的实现。
#include <iostream>
using namespace std;
void Reverse(char *p)
{
if('\0' != *p)
{
Reverse(p + 1);
cout<<*p<<" ";
}
}
int main()
{
char *string = "1234567";
Reverse(string);
cout<<endl;
}