n=sizeof(a);
应该改成 n= a.length(),
sizeof(a) 是这个变量的大小,不是长度
sizeof是这个变量占的内存大小,要得到string类型的字符串的长度可以用成员函数length()或者size()
其实还可以一种简单的逆序方法,
string str1("1234567890");
string str2(str1.rbegin(), str1.rend());
#include
#include
using namespace std;
void main()
{
string a="tom";
int n;
n=a.length();
char t;
for(int i=0;i<=n/2;i++)
{
t=a[i];
a[i]=a[n-1-i];
a[n-1-i]=t;
}
cout<}