码迷,mamicode.com
首页 > 其他好文 > 详细

笔记列表

时间:2018-03-09 20:33:48      阅读:135      评论:0      收藏:0      [点我收藏+]

标签:style   void   重要   pos   post   使用   列表   stdio.h   def   

笔记列表



    使用#define含参时,参数括号很重要,如上例中省略括号会导致运算错误:

    #include <stdio.h>

    #define square(x) ((x) * (x))

    #define square_1(x) (x * x)

    int main(void)
    {
       printf("square 5+4 is %d\n", square(5+4));  
       printf("square_1 5+4 is %d\n", square(5+4)); 
       return 0;
    }

    输出结果为:

    square 5+4 is 81
    square_1 5+4 is 29

    原因:

    square   等价于   (5+4)*(5+4)=81
    square_1 等价于   5+4*5+4=29



///////////////////////////////////////////

    用#define宏定义将a,b交换,不使用中间变量,两种方法实现swap(x,y);

    #include <stdio.h>
    #define MAX(x,y) ((x>y)?(x):(y))
    #define SWAP1(x,y) {x=x+y;y=x-y;x=x-y;}
    #define SWAP2(x,y) {x=x^y;y=x^y;x=x^y;}

    int main()
    {
        int a,b;
        scanf("%d %d",&a,&b);
        printf("Max number is:%d\n",MAX(a,b));
        printf("交换前:x=%d,y=%d\n",a,b);
        SWAP1(a,b);
        printf("交换后:x=%d,y=%d\n",a,b);
        SWAP2(a,b);
        printf("再次交换后:x=%d,y=%d\n",a,b);
        return 0;
    }

    输出结果为:

    2 4
    Max number is:4
    交换前:x=2,y=4
    交换后:x=4,y=2
    再次交换后:x=2,y=4

 

笔记列表

标签:style   void   重要   pos   post   使用   列表   stdio.h   def   

原文地址:https://www.cnblogs.com/bytebee/p/8535546.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!