这个C语言题库里的题目为什么是这个答案啊?请好心人帮我讲解一下,具体如下。

1.以下程序的运行结果是(D)。#include<stdio.h>#defineADD(x)x+xintmain(){intm=1,n=2,k=3,sum;sum=ADD... 1. 以下程序的运行结果是( D )。
#include<stdio.h>
#define ADD(x) x+x
int main ( )
{
int m=1,n=2,k=3,sum ;
sum = ADD(m+n)*k ;
printf(“%d\n”,sum) ;
return 0;
}
A.18 B.9
C.12 D.10
展开
 我来答
syht2000
高粉答主

2020-01-11 · 关注我不会让你失望
知道大有可为答主
回答量:3万
采纳率:79%
帮助的人:1.4亿
展开全部
define是原样替换,所以你的add(m+n)*k会被替换为m+n+m+n*k
结果当然就是 10了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
microroom
科技发烧友

2020-01-11 · 智能家居/数码/手机/智能家电产品都懂点
知道大有可为答主
回答量:7118
采纳率:83%
帮助的人:1604万
展开全部
对于ADD(m+n)*k用宏定义替换后是:
m+n+m+n*k(即用m+n直接替换x),
上面的表达式代入数值后是:
1+2+1+2*3=10。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式