C语言问题

#include<stdio.h>#definemin(x,y)(x)>(y)?(x):(y)#definet(x,y,r)x*y*r/4main(){inta=1,b=... #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",s1,s2);
}

答案为何是113嘞。。。
展开
 我来答
百度网友055c7b10d
2008-12-29 · TA获得超过1171个赞
知道小有建树答主
回答量:565
采纳率:0%
帮助的人:444万
展开全部
答案错误。
详解:s1=min(a=b,b-a);
虽然a已经初始化,可是当a=b时,a又一次被赋值b,在a=3,则min(3,2) 3>2?条件成立取X值即为3

s2=t(a++,a*++b,a+b+c);
a++的值分为两步:a++=1,a=2
++b的值也分为两步:++b=4,b=4
这两种的值不同,加以区分。
s2=t(1,8,11); s2=22
正确答案:322
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
TableDI
2024-07-18 广告
VLOOKUP是Excel中用于垂直查找的函数,其基本用法包括四个参数:1. 查找值:即在数据表首列中需要搜索的值。2. 数据表:包含查找值的单元格区域或数组。3. 返回值所在列数:指定返回查询区域中第几列的值。4. 查找方式:选择精确匹配... 点击进入详情页
本回答由TableDI提供
百度网友01f68f2fd
2008-12-29 · 超过15用户采纳过TA的回答
知道答主
回答量:55
采纳率:0%
帮助的人:0
展开全部
宏是预编译 所以只是简单置换 这和函数不同
你这题目认真算算即可
如果我算得没错的话 应该是3113
过程和cdma980大致相同
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
cdma980
2008-12-29 · TA获得超过1444个赞
知道小有建树答主
回答量:1164
采纳率:0%
帮助的人:806万
展开全部
s1=min(a=b,b-a); 相当于s1=(3)>(2)?(3):(2) 所以s1=3;

s2=t(a++,a*++b,a+b+c);相当于s2=a++*a*++b*a+b+c/4 所以s2=113
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
水中月07012035
2008-12-29 · 超过21用户采纳过TA的回答
知道答主
回答量:234
采纳率:0%
帮助的人:0
展开全部
因为s1=min(a=b,b-a)即s1=min(3,3-2)=1所以输出3
又s2=113
故结果为3113
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式