y?x:y//获取参数#define _PRINT(x) printf("input param: "#x" ")// ##" />

c:#define用法

发布于:2021-12-03 01:25:10

?


/*================================================================
* Copyright (C) 2021 baichao All rights reserved.
*
* 文件名称:define.c
* 创 建 者:baichao
* 创建日期:2021年04月19日
* 描 述:
*
================================================================*/

#include "stdio.h"

#define MAX(x,y) x>y?x:y

//获取参数
#define _PRINT(x) printf("input param: "#x"
")

// ##宏的部分替换
#define TEMP(_end) temp##_end
#define PXN(n) printf("x"#n" = %d
",temp##n)

//可变参数
#define _VAPRINT(...) printf(__VA_ARGS__)

int main()
{
int a = MAX(1,2);
printf("a:%d
",a);
float b = MAX(5.5,6.6);
printf("b:%f
",b);

int c = 5*MAX(1,2)*10; //但是这个和函数还是有区别的,注意看c的值,我们预想的应该是5*2*10 = 100,但是运行结果是1,因为这个只是简单的替换,5*1>2?1:2*10 = 1,解决方法加括号。
printf("c:%d
",c);

_PRINT(666); //#x就代表去获取x的值

int TEMP(1)=1123; // int temp1 = 1123;
PXN(1); // printf("x1 = %d
",temp1)

_VAPRINT("不卑不亢,砥砺前行,%s
","加油");

return 0;
}

相关推荐

最新更新

猜你喜欢