#include<bits/stdc++.h>
#define M1AX(a,b) (a>b)?a:b
using namespace std;
int main(){
int a = M1AX(3,4);
cout<<a;//可以输出4
cout<< M1AX(3,4);//不可以可以输出4,原因也许是因为宏定义要有实际内存空间才能传值,否则不会调用
}
#include<bits/stdc++.h>
#define GET_ARRAY_LENGTH(array,len){len=(sizeof(array)/sizeof(array[0]));}
#define a1dd(x, y) (x + y)
#define M1AX(a,b) (a>b)?a:b
using namespace std;
int main(){
int b[] = {2,3,4};
char a[]={'1','2','3'};
int num,c;
GET_ARRAY_LENGTH(a,num);
GET_ARRAY_LENGTH(b,c);
printf("%d\n",num);//输出3
printf("%d\n",c);//输出3
return 0;