定义一个宏函数,该函数返回两个值中的较小值.下面的代码哪错了#include #define MAX(x,y)(return ((x)>(y)?x:y;)int main(){int a,b;int m ;scanf("%d",&a);scanf("%d",&b); m=MAX(a,b);printf("%d",m);return 0;}

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/03 12:43:26
定义一个宏函数,该函数返回两个值中的较小值.下面的代码哪错了#include #define MAX(x,y)(return ((x)>(y)?x:y;)int main(){int a,b;int m ;scanf(

定义一个宏函数,该函数返回两个值中的较小值.下面的代码哪错了#include #define MAX(x,y)(return ((x)>(y)?x:y;)int main(){int a,b;int m ;scanf("%d",&a);scanf("%d",&b); m=MAX(a,b);printf("%d",m);return 0;}
定义一个宏函数,该函数返回两个值中的较小值.下面的代码哪错了
#include
#define MAX(x,y)(return ((x)>(y)?x:y;)
int main()
{
int a,b;
int m ;
scanf("%d",&a);
scanf("%d",&b);
m=MAX(a,b);
printf("%d",m);
return 0;
}

定义一个宏函数,该函数返回两个值中的较小值.下面的代码哪错了#include #define MAX(x,y)(return ((x)>(y)?x:y;)int main(){int a,b;int m ;scanf("%d",&a);scanf("%d",&b); m=MAX(a,b);printf("%d",m);return 0;}
你应该这样改
#define MAX(x,y) ((x)>(y)?x:y)
因为所谓的宏函数其实只是你的一厢情愿而已,它不是函数,所谓的宏就是一种预处理,即替换
也就是
m=MAX(a,b);
=>
m=(return ((x)>(y)?x:y;);
你觉得上面的语句能编过吗?