由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - 为啥这个swap不可以?
相关主题
再问个简单的C问题Bloomberg London onsite面经
a1b2c3d4 变abcd1234面经-facebook, amazon,telenav, quantcast
BB家面经问个C++ delete[]问题
请教G家那题 abc123->a1b2c3也报个G家intern面经
这道题太神奇了,求排序算法,并且要求时间复杂度为O(n),空间复杂度O(1),what's the output
Amazon intern first phone interview为什么我这段简单的程序segment fault
【一个BB公司问的字母排序的问题】再问一个碰到的C++问题
问一道g电面题请教一道题
相关话题的讨论汇总
话题: char话题: swap话题: c2话题: c1话题: temp
进入JobHunting版参与讨论
1 (共1页)
l********y
发帖数: 1327
1
每次执行到*c1 = *c2的时候就出错,如果仅仅是swap两个char没问题,但是用C的char
数组时就不行,这里也没有牵涉到'\0'啊,不明白?
char * c = "abcde";
char * c1 = &c[0];
char * c2 = &c[4];
swap(c1,c2);
void swap(char * c1, char * c2){
char temp = *c1;
*c1 = *c2;
*c2 = temp;
}
d**e
发帖数: 6098
2
因为这样定义c时,它相当于一个string constant,不能swap去修改它的值。
改成 char c[] = "abcde" 应该就可以。

char

【在 l********y 的大作中提到】
: 每次执行到*c1 = *c2的时候就出错,如果仅仅是swap两个char没问题,但是用C的char
: 数组时就不行,这里也没有牵涉到'\0'啊,不明白?
: char * c = "abcde";
: char * c1 = &c[0];
: char * c2 = &c[4];
: swap(c1,c2);
: void swap(char * c1, char * c2){
: char temp = *c1;
: *c1 = *c2;
: *c2 = temp;

l********y
发帖数: 1327
3
谢谢!
1 (共1页)
进入JobHunting版参与讨论
相关主题
请教一道题这道题太神奇了,求排序算法,并且要求时间复杂度为O(n),空间复杂度O(1),
顶风上来问道题:一个很大char[], 如何in-place 删除重复元素Amazon intern first phone interview
Microsoft interview question【一个BB公司问的字母排序的问题】
amazon 2nd phone interview问一道g电面题
再问个简单的C问题Bloomberg London onsite面经
a1b2c3d4 变abcd1234面经-facebook, amazon,telenav, quantcast
BB家面经问个C++ delete[]问题
请教G家那题 abc123->a1b2c3也报个G家intern面经
相关话题的讨论汇总
话题: char话题: swap话题: c2话题: c1话题: temp