一道经典的C语言题目。不看后悔。

大家帮忙看一下这个程序是对的我分析不出来结果结果s1=2,s2=37实在分析不出来啊我用C运行了确实是这个结果。。。求高手分析下#include<stdio.h>#def... 大家帮忙看一下这个程序是对的 我分析不出来结果 结果s1=2,s2=37 实在分析不出来啊 我用C运行了 确实是这个结果。。。求高手分析下
#include<stdio.h>
#define min(x,y) x<y?x:y;
#define t(x,y,r) x*y*r/4;
main()
{
int a=1,b=3,c=5,s1,s2;
s1=min(a=b,b-a);
s2=t(a++,a*++b,a+b+c);
printf("%d,%d\n",s1,s2);
}
展开
 我来答
jmcfeng
2012-08-18 · 超过18用户采纳过TA的回答
知道答主
回答量:62
采纳率:0%
帮助的人:39.8万
展开全部
define 宏定义 不作任何修改的带进去 在程序编译阶段就替换 不占程序的运行时间 例如 #define f(a,a) a*a
f(3+3,3+3)=3+3*3+3
它不做任何调整 只是把定义了的替换
追问
#define S(r) r*r 
area=S(a+b);第一步换为area=r*r;,第二步被换为area=a+b*a+b;

我不明白是怎么组合的 ,为什么会是a+b*a+b;呢
于于祥祥c94b09
2012-08-18 · TA获得超过653个赞
知道小有建树答主
回答量:766
采纳率:0%
帮助的人:300万
展开全部
把宏定义直接带进去就可以了,得自己试试,不能老是让别人帮你,真心的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友9e6d11eef
2012-08-18 · TA获得超过1173个赞
知道小有建树答主
回答量:723
采纳率:0%
帮助的人:297万
展开全部
简单的要死 去看下预处理命令这一章就知道怎么做了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友ca4d865
2012-08-18
知道答主
回答量:44
采纳率:0%
帮助的人:19.5万
展开全部
把宏定义带进去就行了,自己算一下
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式