作业帮 > 综合 > 作业

定义一个宏函数,该函数返回两个值中的较小值.下面的代码哪错了

来源:学生作业帮 编辑:搜搜考试网作业帮 分类:综合作业 时间:2024/05/16 22:00:30
定义一个宏函数,该函数返回两个值中的较小值.下面的代码哪错了
#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;);
你觉得上面的语句能编过吗?
再问: 还是有错 在m=MAX(a,b)这个地方:expect '}' before ';' token
再答: 你确定是改成#define MAX(x,y) ((x)>(y)?x:y) 而不是#define MAX(x,y) ((x)>(y)?x:y;) 你可以把你改好的代码贴出来看看