读书人

输出如何是28的

发布时间: 2012-09-20 09:36:50 作者: rapoo

输出怎么是28的?
#define f(x) x*x
main()
{int i;
i=f(4+4)/f(2+2);
printf("%d",i);
}

输出怎么是28的?

[解决办法]
i=f(4+4)/f(2+2);
等价于
i=4+4*4+4/2+2*2+2
所以宏定义要加很多的括号: #define f(x) ((x)*(x))

读书人网 >C++

热点推荐