街角_祝福

导航

2012年6月19日 #

指针与引用

摘要: 1.指针和引用的区别? 1) 引用一定不为空,而指针可以为空。 2)由于引用一定不为空,所以不需要做合法性检查,而指针去总要做合法性检查。 3)引用有指针常量的性质,即引用不能修改其其引用的对象。2.问题2 书上讲这样的语句是错误的。int *ptr;*ptr = 7;但是实际上我编译时并没有报错,... 阅读全文

posted @ 2012-06-19 22:17 街角_祝福 阅读(147) 评论(0) 推荐(0)

预处理

摘要: 1.宏定义 求求两个数中小的那一个?#define MIN(a, b) (a)>(b)? (a):(b) 求一年有多少秒?(不是闰年)#define YEAR_SECOND (365*60*60*24)UL2.const用途 1)定义常量 2)修饰函数参数,返回值3. const和#define比较... 阅读全文

posted @ 2012-06-19 21:13 街角_祝福 阅读(119) 评论(0) 推荐(0)

C和C++的关系

摘要: 1.在C++程序中调用C编译器编译后的函数,为什么要加extern "C"? C++语言支持函数重载,而C不支持。函数编译后,C和C++函数oji文件中的格式是不一样的,假设同样是void func(void)函数,C编译后库中的名字为_func,而C++的则会产生类似于_func_int_int... 阅读全文

posted @ 2012-06-19 20:35 街角_祝福 阅读(141) 评论(0) 推荐(0)

数值交换

摘要: 1.求两个数a,b中的较大值(不使用if,switch,?等判断分支语句。)方法一: (a+b+abs(a-b))/2因为abs后的结果小的数会变成负数,而大的数还是整数,所以大数除以2之后还是大数,即可求得结果。方法二:int c = a-b;c = unsigned(c) >> sizeof(i... 阅读全文

posted @ 2012-06-19 19:40 街角_祝福 阅读(138) 评论(0) 推荐(0)

神奇的求平均数

摘要: (x&y)+((x^y)>>1)这个表达式的结果就是x+y之后除以2的结果。研究了半天没弄懂,所以说很神奇。不知道这个解释怎么样?(x^y)>>1 = (0^0) (x[n]^y[n]) (x[n-1]^y[n-1]) ... (x[3]^y[3]) (x[2]^y[2])x&y ... 阅读全文

posted @ 2012-06-19 19:27 街角_祝福 阅读(130) 评论(0) 推荐(0)

运算符问题--优先级

摘要: #include int main(int argc, char *argv[]){ unsigned char a = 0xA5; unsigned char b = ~a>>4+1; printf( "%d", b ); return 0;}求输出结果。这个题主要是考运算符的优先级问题。因为>>... 阅读全文

posted @ 2012-06-19 19:01 街角_祝福 阅读(135) 评论(0) 推荐(0)

printf问题--参数顺序

摘要: #include int main(int argc, char *argv[]){ int b = 3; int arr[] = { 6, 7, 8, 9, 10}; int *ptr = arr; *(ptr++) += 123; printf( "%d, %d\n", *ptr, *(++p... 阅读全文

posted @ 2012-06-19 18:24 街角_祝福 阅读(216) 评论(0) 推荐(0)

测试整数(二进制)含1个数

摘要: 引:中国某杀毒软件公司2010年3月笔试题#include using namespace std;int func(int n){ int nCount = 0; while( n ) { nCount++; n = n & (n-1); } return nCount;} int main(... 阅读全文

posted @ 2012-06-19 17:52 街角_祝福 阅读(199) 评论(0) 推荐(0)