为什么这个题目是选b 而不是d 求详细解答!!

 我来答
回忆在上辈子
2016-02-23 · TA获得超过1148个赞
知道大有可为答主
回答量:1211
采纳率:0%
帮助的人:901万
展开全部
NUM是宏定义
在代码遇到是进行展开替换的(编译器预编译期)
M替换成N+1
所以NUM被替换成
(N+1+1)*N+1/2
也就是(2+1+1)*2+1/2
等于8.5
printf以%d输出则只取整数部分
所以答案是8
金色潜鸟
2016-02-23 · TA获得超过3.2万个赞
知道大有可为答主
回答量:1.3万
采纳率:89%
帮助的人:5743万
展开全部
NUM = (M+1) * M /2
NUM = (N+1+1) * N + 1 /2 (字符替代 M 改 N+1)
NUM = (2+1+1)* 2 + 1 / 2 =4*2+0 = 8 ( N 改 2 替代,再计算)
所以选 B
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
TK灬酸奶丶
2016-02-23 · 超过11用户采纳过TA的回答
知道答主
回答量:29
采纳率:0%
帮助的人:22.5万
展开全部
我来告诉你~先请回复我,详细解答你,OK?
首先#define是宏定义
所以NUM的值为:
(N+1+1)*N+1/2=(2+1+1)*2+1/2=8.5;
由于结果输出为十进制整型,所以结果为8;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
bubing104
2016-02-23 · 超过18用户采纳过TA的回答
知道答主
回答量:253
采纳率:0%
帮助的人:62万
展开全部
代入计算就好了!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
帥氣的我123
2016-02-23 · TA获得超过112个赞
知道小有建树答主
回答量:334
采纳率:33%
帮助的人:59.1万
展开全部
(2+1)*2+1/2=8
追答
(2+1+1)*2+1/2=8
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
sadasda无悔
2016-02-23 · TA获得超过109个赞
知道小有建树答主
回答量:194
采纳率:0%
帮助的人:81.6万
展开全部
四乘一点五应该是六啊
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式