A-A+
有如下程序 #include<iostream.h> #define N2 #define
问题详情
有如下程序 #include<iostream.h> #define N2 #define M N+1 #define NUM 2*M+1 void main() { int i; for(i=1,i<= NUM;i++) cout<<i;} 该程序中的for循环执行的次数是
A.5
B.6
C.7
D.8请帮忙给出正确答案和分析,谢谢!
参考答案
正确答案:B
解析:这是一种简单的情况:不带参数的宏。关键要注意在对2*M+1进行宏替换时,要将宏名M原样替换,得到NUM的形式为2*N+1+1(千万不要随意把给N+1加上小括号,使NUM变为2*(N+1)+1,这就是宏名和变量名之间的区别)。