不开辟用于交换数据的临时空间,如何完成字符串的逆序
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();
}
#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();
}
相关文章推荐
- 面试:不开辟用于交换数据的临时空间,如何完成字符串的逆序
- 不开辟用于交换数据的临时空间,如何完成字符串的逆序
- 不开辟用于交换数据的临时空间,如何完成字符串的逆序
- 不开辟用于交换数据的临时空间,如何完成字符串的逆序
- 不开辟用于交换数据的临时空间,如何完成字符串的逆序
- 不开辟用于交换数据的临时空间,如何完成字符串的逆序(在技术一轮面试中,有些面试官会这样问)
- 不开辟用于交换数据的临时空间,如何完成字符串的逆序
- 不开辟用于交换数据的临时空间,完成字符串的逆序
- 不开辟用于交换数据的临时空间完成字符串的逆序
- 90. 1.不开辟用于交换数据的临时空间 2.字符串的逆序 3判断单链表中是否存在环
- 不用开辟数据的临时空间,怎么完成字符串的逆转?
- [Android新手学习笔记08]-如何让活动Activity保存临时数据用于恢复
- 第九十题(1.不开辟临时空间交换 2.删除串中指定字符 3.判断链表中存在环)
- 有两个字符串数组,即 string1 与 string2,不使用任何C/C++库函数的情况下,请问如何交换这两个字符串数组中的数据
- 临时开辟一个存储空间以存放一个结构体数据 。
- Format() 函数用于将数据转换为格式化的字符串输出
- 在 Linux 下用户空间与内核空间数据交换的方式,第 1 部分: 内核启动参数、模块参数与sysfs、sysctl、系统调用和netlink
- 用户空间与内核空间数据交换的方式(6)------模块参数与sysfs
- 在 Linux 下用户空间与内核空间数据交换的方式,第 2 部分: procfs、seq_file、debugfs和relayfs
- 分割字符串的几个方法如何将多个逗号字符串拆分成多条数据