![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
程序员面试宝典
文章平均质量分 69
瓜瓜猪崽
这个作者很懒,什么都没留下…
展开
-
重新开始战斗21-程序员面试宝典-P40_5.6面试2--两数交换问题
问题描述: 如何将a,b的值进行交换,并且不使用任何中间变量? 书中首先给出了第一种算法,即: a = a+b; b = a-b; a = a-b; 这个算法很好理解,稍加思索就可以理解了,但是存在一个问题,a b太大,相加可能溢出。 因此提出了另一种算,用异或: a = a^b; b = a^b; a = a^b; 这个算法就不那么容易理解了,下面给出详细的分析原创 2014-04-03 16:17:26 · 566 阅读 · 0 评论 -
重新开始战斗22-程序员面试宝典-P66_7.2面试题3--局部数组和全局数组问题
问题描述: 这个函数有什么问题 Char *strA() { Charstr[] = “hello world”; Returnstr; } 这个函数是存在风险的,如果要利用这个函数,例如: Char *p = strA() 调用这个函数的意图是希望p指向“hello world”这个字符串,但是注意这条语句,Char str[] = “原创 2014-04-03 16:24:56 · 504 阅读 · 0 评论 -
重新开始战斗20-程序员面试宝典-P39_5.5面试题2--求平均数
面试题2: 下面代码: Int f(int x,int y) { Return(x&y)+((x^y))>>2); } F(729,271)=________ 首先对于这个题,当然可以一步一步的去算,但是其实这个算法就是求平均数。 仔细分析一下: &:与运算,如果两个数相等,a==b,则a&b ==a == b == (a+b)/2,可以发现,当且仅原创 2014-04-03 16:08:16 · 626 阅读 · 0 评论 -
重新开始战斗19-程序员面试宝典-P34_5.4面试题2--数据转换与指针转换
数据转换: 在表达式中,所有的数据都会向宽型转换,有两个原则: 1、为防止精度损失,如果必要的话,类型总是被提升为较宽的类型; 2、所有含有小于整型的有序类型的算术表达式在计算之前其类型都会被转换成整型。 值得注意的是有关符号和无符号数之间的转换。 显式转换较为简单,我们关心更多的是隐式转换。看看下面的程序输出为多少: signed int a; unsigned int b;原创 2014-04-03 16:05:17 · 533 阅读 · 0 评论