一道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
展开
 我来答
huangyidao2006
2013-12-27 · TA获得超过100个赞
知道小有建树答主
回答量:107
采纳率:0%
帮助的人:108万
展开全部
这里要明白宏只是一种简单的字符替换,而且替换的时刻是预编译期。所以
NUM被替换成了(N+1+1)*N+1/2,也就是(2+1+1)*2+1/2=8
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Chelper
2013-12-27
知道答主
回答量:21
采纳率:0%
帮助的人:18万
展开全部
#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
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-12-27
展开全部
应该是6次吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
心里狮
2013-12-27 · 超过24用户采纳过TA的回答
知道答主
回答量:120
采纳率:0%
帮助的人:34.2万
展开全部
那里不明白 你先看一下你定义的宏,再for循坏, 再注意i++跟 ++i的区别
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式