关于用宏来定义函数。。
有一个函数的返回值是一个结构类型。。那么怎么把它改成一个用宏定义的函数呢。
程序代码:
typedef struct{
double real;
double imag;
}complix_t;
#define prefix_inc(a) (++a.real,a)
#define max_mod(a,b) ((a.real*a.real + a.imag*a.imag) > (b.real*a.real + b.imag*a.imag) ? a: b)
#define add2(a,b,sum) {sum.real = a.real + b.real; sum.imag = a.imag + b.imag;}
int main(int argc, char *argv[])
{
complix_t a={1,1},
b={2,2},
max,
sum;
max = max_mod (a,b);
printf("%lf+%lf*i\n",max.real,max.imag);
add2(a,b,sum);
printf("%lf+%lf*i\n",sum.real,sum.imag);
return 0;
}

