#include <stdio.h>
#include <stdlib.h>
#define MaxMacro(type) \
type max_##type(type a[],int N)\
{\
type m=a[0];\
int i;\
for(i=1;i<N;i++)\
m=(m<a[i]?a[i]:m);\
return m; \
}
MaxMacro(int);
int main()
{
int a[3]={1,2,4};
int res=max_int(a,3);
printf("%d",res);
return 0;
#include <stdlib.h>
#define MaxMacro(type) \
type max_##type(type a[],int N)\
{\
type m=a[0];\
int i;\
for(i=1;i<N;i++)\
m=(m<a[i]?a[i]:m);\
return m; \
}
MaxMacro(int);
int main()
{
int a[3]={1,2,4};
int res=max_int(a,3);
printf("%d",res);
return 0;
}
结果为4. ##的作用是将相邻的变量变为字符串并去掉两边的空格