关于宏的问题
#include<stdio.h>
#define M 3
#define N M+1
#define NN N*N/2
main( )
{
printf("%d,",NN);
printf("%d\n,5*NN);
}
我认为根据宏定义,展开应该为3+1*3+1/2和5*3+1*3+1/5即结果为6和18,但答案偏偏是8和40,难道我又错了,展开因为(3+1)*(3+1)/2和5*[(3+1)*(3+1)/2]么,或者我还未掌握其中细节?望各位告之答案!