作业帮 > 综合 > 作业

#define MAX(x,y) (x)>(y)?(x):(y) main() {int a=5,b=2,c=3,d=3

来源:学生作业帮 编辑:拍题作业网作业帮 分类:综合作业 时间:2024/04/27 12:21:10
#define MAX(x,y) (x)>(y)?(x):(y) main() {int a=5,b=2,c=3,d=3,t; t=MAX(a+b,c+d)*10 ;
printf("%d\n",t);}
#include
#define MAX(x,y) (x)>(y)?(x):(y)
void main()
{
int a=5,b=2,c=3,d=3,t;
t=MAX(a+b,c+d)*10;
printf("%d\n",t);
}
mian()前少了类型,加上void,要包含头文件#include
再问: 题目就是这样啊,答案是7 可是我是70
再答: 因为#define MAX(x,y) (x)>(y)?(x):(y)后面语句没有加括号,使用MAX的时候是相当于用(x)>(y)?(x):(y)整个语句,而非其较大值。 如果宏定义改为#define MAX(x,y) ((x)>(y)?(x):(y))或者在使用时在MAX()外加个括号就能得到70,否则就是7,及(x)>(y)?(x):(y)的结果。