#define N 2
#define M N+1
#define NUM 2*M+1
int main()
{
int i;
for(i=1;i<=NUM;i++)
printf("%d\n",i);
}
该程序中的for循环执行的次数是
A) 5 B) 6 C) 7 D) 8
答案是B) 6次
===解===
因为宏替换只是单纯的字符替换,而不会加上括号,所以,不能先用N计算出M,在用M计算出NUM,必须整体替换,所以题目中的NUM=2*N+1+1=2*2+1+1=6
阅读(669) | 评论(0) | 转发(0) |