摘要:提及C语言,许多人都觉得不难。但是在笔试或者面试时,总会在一些不经意的小程序或简单功能的函数难住,所以说C语言虽然没有Cplusplus的深度,但其广度丝毫不亚于C++,对于面向过程的高级语言来说,C语言的细枝末节可谓浪里淘沙,在此总结列举少许较为常见的。
★1.求两个数的平均值(不能使用(a+b)/2的方式)
<span style="color:#000099;">int Average(int x, int y)
{
return x&y + ((x^y) >> 1); //用(a+b)/2的方式,在相加的过程中容易造成数据溢出
}</span>
<span style="color:#000099;">bool compare(int x)
{
if ((x&(x - 1)) == 0)
return true;
else
return false;
}</span>