求大神帮忙解答下。

#include"stdio.h"#definesqur(n)n*nmain(){inta=2,b=3;printf("%d\n",SQUR(3));printf("%d... #include"stdio.h"#define squr(n)n*n main(){int a=2,b=3;printf("%d\n",SQUR(3));printf("%d\n",SQUR(a+b));}(1)该程序的运行结果是什么?(2)程序第2个printf语句输出结果是否是(a+b)*(a+b)值,为什么? 展开
 我来答
lugoodboy
2022-10-01 · TA获得超过7.3万个赞
知道大有可为答主
回答量:1.3万
采纳率:86%
帮助的人:6137万
展开全部

编译错误



(1)该程序的运行结果是什么?

程序运行结果

结果是输出9和11。



(2)程序第2个printf语句输出结果是否是(a+b)*(a+b)值?

不是,而是输出11。因为宏定义只是简单的符号替换,不做其他处理。 

所以是:2+3*2+3=2+6+3=11

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式