设有以下宏定义:#define f(z) z*z,执行赋值语句k=f(4+4)/f(2+2);(k为int型变量)后,k的值是 ?

我算得4,但是答案是28,怎么算的呢... 我算得4,但是答案是28,怎么算的呢 展开
 我来答
激发文明
2012-06-20 · TA获得超过318个赞
知道答主
回答量:81
采纳率:0%
帮助的人:34.5万
展开全部
28就对了,宏定义是直接把代码替换进去的,跟函数计算不一样
你要得到4,就把宏定义改为:#define f(z) (z)*(z)
z必须加括号,否则是不会得到你想要的答案的。
昌珈蓝歆0L
2012-06-20 · TA获得超过879个赞
知道小有建树答主
回答量:422
采纳率:0%
帮助的人:405万
展开全部
k=f(4+4)/f(2+2)=4+4*4+4/2+2*2+2=4+16+2+4+2=28
你要是想算出4的话,要这么改#define f(z) (z)*(z)执行赋值语句k=(f(4+4))/(f(2+2));
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
听不清啊
高粉答主

推荐于2017-11-15 · 说的都是干货,快来关注
知道顶级答主
回答量:7.8万
采纳率:89%
帮助的人:1.9亿
展开全部
k=f(4+4)/f(2+2)
=4+4*4+4/2+2*2+2
=4+16+2+4+2
=28
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式