金山笔试题(武汉)
2011-06-12 17:51
253 查看
4个题
第一题交换两个变量的值(不能使用临时变量);
第二题,逆序一个单链表;
第三题,c++的构造和析构。
第四题,三选一:1,字符集的问题;2,com组件的问题;3,跨平台编程的问题。
解答:
第一题
一下还是没想到,跟一个同学讨论了一下,后面都没想到。就网上搜了一下。有两种方法i,不过有一种不是很保险的,可能会溢出的。
<1>正常情况下实现两个整数交换而不引入第三变量只需要将两个整数的和保留下来,即
int A, B ;
A = A + B ;
B = A - B ;
A = A - B ;
就OK了,但是这样的话如果定义函数时传入的参数是指针而恰好指向的是同一个地址,之后……,我想你也能猜到这个数就变成0了。
<2>还有一种方法利用数的抑或运算,即:
A = A ^ B ;
B = B ^ A ;
A = A ^ B ;
详细的可看下这篇博客http://hi.baidu.com/techdigger/blog/item/6ba82cecc19df5232cf534e8.html
第一题交换两个变量的值(不能使用临时变量);
第二题,逆序一个单链表;
第三题,c++的构造和析构。
第四题,三选一:1,字符集的问题;2,com组件的问题;3,跨平台编程的问题。
解答:
第一题
一下还是没想到,跟一个同学讨论了一下,后面都没想到。就网上搜了一下。有两种方法i,不过有一种不是很保险的,可能会溢出的。
<1>正常情况下实现两个整数交换而不引入第三变量只需要将两个整数的和保留下来,即
int A, B ;
A = A + B ;
B = A - B ;
A = A - B ;
就OK了,但是这样的话如果定义函数时传入的参数是指针而恰好指向的是同一个地址,之后……,我想你也能猜到这个数就变成0了。
<2>还有一种方法利用数的抑或运算,即:
A = A ^ B ;
B = B ^ A ;
A = A ^ B ;
详细的可看下这篇博客http://hi.baidu.com/techdigger/blog/item/6ba82cecc19df5232cf534e8.html
相关文章推荐
- 武汉财富基石笔试面试心得体会
- 武汉财富基石笔试题
- 金山-西山居2011实习生招聘笔试题目
- 88.2005 年 11 月金山笔试题。编码完成下面的处理函数。
- kingsoft金山笔试题
- 阿里巴巴笔试题 2014 武汉
- 【笔试】金山笔试记录:软件测试工程师(桌面测试方向)
- 安徽科大讯飞笔试题2014校园招聘 武汉
- 2013年金山笔试题
- 武汉群硕笔试心得体会
- 2013-5-5阿里巴巴实习生部分笔试题-武汉
- 武汉笔试之旅
- 金山2009校园招聘成都一笔试题
- 微软等数据结构+算法面试100题(13)--金山笔试题
- 2014金山笔试_编写一个数组类 MyVector
- 字符移动(金山笔试题)
- 武汉财富基石笔试题
- 金山桌面软件测试实习生笔试面试
- 金山笔试题解析(经典指针)
- 宇龙酷派笔试题 2014 武汉