您的位置:首页 > 其它

不开辟用于交换数据的临时空间,如何完成字符串的逆序

2011-08-30 17:22 766 查看
//不开辟用于交换数据的临时空间,如何完成字符串的逆序(在技术一轮面试中,有些面试官会这样问)
#include "stdafx.h"
void change(char *str) {
for(int i=0,j=strlen(str)-1; i<j; i++, j--){
str[i] ^= str[j] ^= str[i] ^= str[j];//等价于 str[i] ^= str[j]; str[j] ^= str[i];str[i] ^= str[j];str[i] += str[j];str[j] = str[i]-str[j];str[i] = str[i]-str[j];

}
}
int main(int argc, char* argv[]) {
char str[] = "abcdefg";
printf("strSource=%s\n", str);
change(str);
printf("strResult=%s\n", str);
return getchar();
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐