#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 ;
展开全部
#include<stdio.h>
#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<stdio.h>
#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<stdio.h>
追问
题目就是这样啊,答案是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)的结果。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询