用宏定义的方法写MAX(x,y)首先祝各位程序员新年快乐!下面是我的问题:在C语言下,怎么用宏定义写一个能处理
用宏定义的方法写MAX(x,y)
首先祝各位程序员新年快乐!
下面是我的问题:
在C语言下,怎么用宏定义写一个能处理任意数据类型的MAX(x,y)呢?还是像函数一样写不出来?
但是我在书上看到用宏定义的方式比函数更加“通用” 说是可以接受任何类型的函数,我这样写不行吗?应该怎么样写?
- C/C++ code
#include<stdio.h>#define MAX(x,y) ((x) > (y) ? (x) : (y))int main(void){ float x = 5.2; int y = 3; float max = MAX(x,y); printf("%d\n",max); return 0;}[解决办法]
#include<stdio.h>
#define MAX(x,y) ((x) > (y) ? (x) : (y))
int main(void)
{
float x = 5.2;
int y = 3;
float max = MAX(x,y);
printf("%f\n",max);
return 0;
}
输出应该用float型,,,
