一道C++题目,求详解
以下for语句构成的循环执行了B次。#include<iostream>usingnamespacestd;#defineN2#defineMN+1#defineNUM(...
以下 for 语句构成的循环执行了B次。
#include<iostream>
usingnamespace std;
#defineN 2
#defineM N+1
#defineNUM (M+1)*M/2
intmain()
{
inti,n=0;
for(i=1;i<=NUM;i++)
{ n++;
cout<< n << " ";
}
cout<<endl;
return0;
}
A.6
B. 8
C. 5
D. 9 展开
#include<iostream>
usingnamespace std;
#defineN 2
#defineM N+1
#defineNUM (M+1)*M/2
intmain()
{
inti,n=0;
for(i=1;i<=NUM;i++)
{ n++;
cout<< n << " ";
}
cout<<endl;
return0;
}
A.6
B. 8
C. 5
D. 9 展开
展开全部
这里要明白宏只是一种简单的字符替换,而且替换的时刻是预编译期。所以
NUM被替换成了(N+1+1)*N+1/2,也就是(2+1+1)*2+1/2=8
NUM被替换成了(N+1+1)*N+1/2,也就是(2+1+1)*2+1/2=8
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#defineN 2说明N =2;
#defineM N+1 说明M = N+1 = 3;
#defineNUM (M+1)*M/2 说明NUM = (M+1)*M/2 = (3+1)*3/2 = 6;
for(i =1;i<=NUM;i++)这句是控制循环次数的,i从1开始执行第一次,执行到i =6,所以循环次数应该是6次,所以答案应该是A
#defineM N+1 说明M = N+1 = 3;
#defineNUM (M+1)*M/2 说明NUM = (M+1)*M/2 = (3+1)*3/2 = 6;
for(i =1;i<=NUM;i++)这句是控制循环次数的,i从1开始执行第一次,执行到i =6,所以循环次数应该是6次,所以答案应该是A
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-12-27
展开全部
应该是6次吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
那里不明白 你先看一下你定义的宏,再for循坏, 再注意i++跟 ++i的区别
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询