程序员面试宝典学习
Huaerge
这个作者很懒,什么都没留下…
展开
-
5.6 a,b交换
面试例题1:有两个变量a和b,不用”if “,”?: “,”switch”或其它判断语句,找出两个数中间比较大的。方案一:int max=((a+b)+abs(a-b))/2方案二:int c=a-b;Char *strs[2]={“a大”,”b大”};C=unsigned(c)>>(sizeof(int)*8-1);面试例题2:如何将a,b的值进行交换,并且不使用任何中间变量?方案一:a=a+b ; b=a-b; a=a-b;方案二:a=a^b; b=a^b; a= a^b;原创 2010-06-20 19:55:00 · 789 阅读 · 2 评论 -
6.3 Sizeof与strlen的区别
<br />Sizeof与strlen的区别:<br />1) Sizeof操作符的结果类型的size_t,它在头文件中的typedef为unsigned int类型。该类型保证能容纳实现所建立的最大对象的字节大小<br />2) Sizeof是算符,strlen是函数。<br />3) Sizeof可以用类型做参数,strlen只能用char*做参数,且必须以”/0”结尾。Sizeof还可以用函数做参数,比如:<br />Short f();<br />Pr原创 2010-06-20 20:04:00 · 741 阅读 · 0 评论 -
螺旋队列的问题
螺旋队列: 73 74 75 76 77 78 79 80 81 72 43 44 45 46 47 48 49 50 71 42 21 22 23 24 25 26 51 70 41 20 7 8 9 10 27 52 69 40 19 6 1 2 11 28 53 68 39 18 5 4原创 2010-06-20 14:30:00 · 860 阅读 · 0 评论 -
5.7 C和C++的关系
面试例题1:在C++程序中调用被C编译器编译后的函数,为什么要加extern “C”?解答:C++语言支持函数重载,C语言不支持函数重载。函数被C++编译后在库中的名字与C语言的不同。假设某个函数的原型为:void foo(int x,int y).该函数被C编译器编译后在库中的名字为_foo,而C++编译器则会产生像_foo_int_int之类的名字。C++提供了C链接交换制定符号extern “C”解决名字匹配问题。面试例题2:如何判断一段程序是由C编译程序还是由C++编译程序编译的?C++编译时定义了原创 2010-06-20 19:58:00 · 539 阅读 · 1 评论 -
6.2 Const的用法
<br />1. Const的用法:<br />1) 定义const常量<br />2) Const可以修饰函数的参数和返回值,甚至函数的定义体。被const修饰的东西都受到强制保护,可以预防意外的变动,能提高程序的健壮性。<br />2. Const与#define相比有什么不同?<br />C++语言可以用const定义常量,也可以用#define定义常量,但是前者比后者有更多的优点。<br />1) Const常量有数据类原创 2010-06-20 20:01:00 · 517 阅读 · 0 评论