随笔

1. printf函数在计算参数时是从右向左进行计算的。

2. 编程风格: if ( 'A' == a ) 要比 if ( a == 'A' )好 在将==写成= 时候比较有效。

3. a 和 b实现交换的方法:

    方法1: a = a + b;

                b = a - b;

       a = a - b;  不足之处在于如果a,b都很大时,a+b的值容易溢出。

    方法2: a = a ^ b;

                b = a ^ b;

                a = a ^ b;

4. 在C++程序中调用被C编译器编译后的函数,为什么要加extern "C"?

    答:C++语言支持函数重载,C语言不支持函数重载。函数被C++编译后在库中的名字和C语言的不同。假设某个函数的原型为void foo(int x, int y),该函数被C编译器编译之后在库中的名字为_foo,而C++则会产生_foo_int_int之类的名字。

         C++提供C连接交换指定符号extern "C"解决名字匹配问题。

 

posted @ 2012-02-21 22:42  Never To Say Impossible  阅读(125)  评论(0编辑  收藏  举报