这种方式就很完美了,无需定义其余变量,直接调用宏定义即可。 2.2.1 语法说明 形如登录后复制#define xxx(a, b, c) ({x; y; z;})格式的宏定义,最终返回的是登录后复制z的执行结果,登录后复制z可以是一个函数,也可以是一个变量,就像上面代码中的登录后复制MACRO_ADD_1()和登录后复制MACRO_ADD_2(); ...
c语言中使用函数式宏返回不同数据类型的值的平方。 1、 #include <stdio.h>#definesqr(x) ((x) * (x))intmain(void) {inta; puts("please input an integer."); printf("a ="); scanf("%d", &a); printf("sqr of a : %d\n\n\n", sqr(a));doubleb; puts("please input an real num...
这种方式就很完美了,无需定义其余变量,直接调用宏定义即可。 2.2.1 语法说明 形如#define xxx(a, b, c) ({x; y; z;})格式的宏定义,最终返回的是z的执行结果,z可以是一个函数,也可以是一个变量,就像上面代码中的MACRO_ADD_1()和MACRO_ADD_2(); ({x; y; z;})中,(、{、}、)一个都不能少。