读书人

关于宏定义的一路题

发布时间: 2013-01-20 10:22:40 作者: rapoo

关于宏定义的一道题
# include "stdio.h"
# define MCRA(m) 2*m
# define MCRB(n,m) 2*MCRA(n)+m
int main (void)
{
int i=2;
int j=3;printf ("%d\n",( j , MCRA ( i ) ) );



return 0;
}

输出结果为4,详细计算过程。
[解决办法]
printf()的后面是一个逗号表达式,逗号表达式取的是最右边的值,所以这个结果就是MCRA ( i )
的结果,你知道为什么为4了吧。。

读书人网 >C语言

热点推荐