C知识回顾(三)

本案例代码非原创 , 我只是按照学习的过程自己重敲一遍回顾学习!
3.宏定义介绍

#include <stdio.h>
/*
 *1.宏定义常量
 */
#define PI 3.141592654          //自动识别成double

/*
 *2.宏定义方法
 */
#define swap(x,y)\
x=x+y;\
y=x-y;\
x=x-y

/*
 *3.宏定义一段代码
 */
#define LOG\
    int a =3;\
    int b =4;\
    printf("a: %d\n",a);\
    printf("b: %d\n",b)

#ifndef A           // 如果没有宏定义 A (if undefine , 注意啊if后面有一个n代表un-否定前缀)

#define A 1         // 那么就定义 A 的值为 1

#endif              //判断结束

#define B 2

//#undef A            //取消宏定义A

#define C 100

int main(int argc, const char * argv[]) {
    printf("PI: %.9lf\n",PI);
    
    int x =10;
    int y =20;
    printf("交换之前: x=%d,x=%d\n",x,y);
    swap(x,y);
    printf("交换之后: x=%d,x=%d\n",x,y);
    
    LOG;
    printf("a=%d,b=%d\n",a,b);
    
    printf("-------------\n");

    /*
     *4.逻辑判断            相当于     if()
                                    {

                                    }
                                    else-if()
                                    {

                                    }
                                    else-if()
                                    {

                                    }
     */
#ifdef A
    printf("defineA: %d\n",A);
#endif
    
#ifdef B
    printf("defineB: %d\n",B);
#elif C
    printf("defineC: %d\n",C);
#else
    printf("未定义任何值!\n");
#endif
    
    return 0;
}

愿编程让这个世界更美好

猜你喜欢

转载自blog.csdn.net/weixin_34204057/article/details/87416489