
#define N 2 #define M N+1 #define NUM 2*M+1 main() { int i; for(i=1;i<=NUM;i++)printf("%d\n",
#defineN2#defineMN+1#defineNUM2*M+1main(){inti;for(i=1;i<=NUM;i++)printf("%d\n",i);}n...
#define N 2
#define M N+1
#define NUM 2*M+1
main()
{ int i;
for(i=1;i<=NUM;i++)printf("%d\n",i);
}num是怎么得来的详细一点 展开
#define M N+1
#define NUM 2*M+1
main()
{ int i;
for(i=1;i<=NUM;i++)printf("%d\n",i);
}num是怎么得来的详细一点 展开
2个回答
展开全部
num=2*m+1=2*n+1+1=2*2+1+1=6
因为定义的时候m=n+1并没有加括号即#define m (n+1),所以在带入后面的式子的时候,也是没有括号的,在计算num的值的时候根据先乘除后加减的原则计算,并非想当然的先计算出m值再带入num,不仅仅在#define中如此,在函数体内部使用到宏定义的数据时,同样根据没有括号的原则~
因为定义的时候m=n+1并没有加括号即#define m (n+1),所以在带入后面的式子的时候,也是没有括号的,在计算num的值的时候根据先乘除后加减的原则计算,并非想当然的先计算出m值再带入num,不仅仅在#define中如此,在函数体内部使用到宏定义的数据时,同样根据没有括号的原则~
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询