void reverse(char *str) {
reverseFixlen(str, strlen(str));
}
void reverseFixlen(char *str, int n) {
char* p = str+n-1;
while (str < p) {
char c = *str;
*str++ = *p; *p--=c;
}
reverseFixlen(str, strlen(str));
}
void reverseFixlen(char *str, int n) {
char* p = str+n-1;
while (str < p) {
char c = *str;
*str++ = *p; *p--=c;
}
}
这也是微软的一个面试题,不过我觉得http://blog.csdn.net/v_july_v/article/details/6870251这里给出的代码有点问题,上面是我修改后的代码。
关于颠倒字符串问题还有很多其他的解法,具体参见:http://www.cnblogs.com/graphics/archive/2011/03/09/1977717.html(引用)