zoukankan      html  css  js  c++  java
  • 笔记列表

    笔记列表
    
    
    
        使用#define含参时,参数括号很重要,如上例中省略括号会导致运算错误:
    
        #include <stdio.h>
    
        #define square(x) ((x) * (x))
    
        #define square_1(x) (x * x)
    
        int main(void)
        {
           printf("square 5+4 is %d
    ", square(5+4));  
           printf("square_1 5+4 is %d
    ", 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
    ",MAX(a,b));
            printf("交换前:x=%d,y=%d
    ",a,b);
            SWAP1(a,b);
            printf("交换后:x=%d,y=%d
    ",a,b);
            SWAP2(a,b);
            printf("再次交换后:x=%d,y=%d
    ",a,b);
            return 0;
        }
    
        输出结果为:
    
        2 4
        Max number is:4
        交换前:x=2,y=4
        交换后:x=4,y=2
        再次交换后:x=2,y=4
  • 相关阅读:
    Linux中touch和mkdir、vi的区别
    宿主机和虚拟机的IP地址和端口号的区别
    测试环境
    Fiddler
    Linux 常用指令
    测试环境的网址与账号密码
    书签
    快速寻找满足条件的两个数
    android 资讯阅读器(二)
    android 资讯阅读器
  • 原文地址:https://www.cnblogs.com/bytebee/p/8535546.html
Copyright © 2011-2022 走看看