/*Write code to reverse a C-Style String.(C-String means that "abcd" is represented as five characters, including the null charater.)*/
#include <iostream>
#include <string>
using namespace std;
void swap(char &a, char &b)
{
char temp;
temp = a;
a = b;
b = temp;
}
void reverse(char* str)
{
if(!str) return;
char *p=str, *q=str;
while(*q) q++;
--q;
while(p<q)
swap(*p++, *q--);
}
int main()
{
char str[] = "abcdefg";
reverse(str);
cout << "str = abcdefg" << " && reversed str = " << str << endl;
return 0;
}
swap的其他方法
void swap1(char &a, char &b)
{
a=a^b;
b=a^b;
a=a^b;
}
reverse的其他方法
void reverse1(char *str)
{
if(!str) return;
int len=strlen(str);
for(int i=0; i<len/2; ++i)
{
swap1(str[i],str[len-1-i]);
}
}