c语言 程序计算题

voidmain(){inta,b,c,t;a=1;b=2;c=2;while(a<b<c){t=a;a=b;b=t;c--;}printf("%d,%d,%d,",a,... void main()
{
int a,b,c,t;
a=1;
b=2;
c=2;
while( a < b < c )
{ t=a;
a=b;
b=t;
c--;
}
printf ( " %d,%d,%d, " ,a,b,c );
}

求计算过程
展开
 我来答
魔静蝎bn
2012-03-04 · TA获得超过4259个赞
知道大有可为答主
回答量:1469
采纳率:100%
帮助的人:1743万
展开全部
过程如下:
1, 这个题目的陷阱在于while的循环条件:a<b<c,a<b即1<2=1,1<c即1<2=1,所以执行循环体:t=a; a=b; b=t; c--; ;执行完后,a和b的值交换,c的值减1,得到:a=1,b=2,c=1,进入下次循环条件判断
2.第二次循环条件判断:a<b即2<1=0,0<c即0<1=1,继续执行循环体:t=a; a=b; b=t; c--; ;循环完成后,得到:a=1,b=2,c=0,进入下次循环条件判断
3.第三次循环条件判断:a<b<c,a<b即1<2=1,1<c即1<0=0,循环条件不成立,跳过循环体,执行printf ( " %d,%d,%d, " ,a,b,c );,输出结果为:1,2,0,
捞儇瞧蓟缓阜bG
2012-03-04 · 超过12用户采纳过TA的回答
知道答主
回答量:140
采纳率:100%
帮助的人:25.7万
展开全部
关键是在while( a < b < c ),这句的意义是
首先计算a<b是否成立,再计算1<c或0<c,
如果成立则执行while循环,否则不执行。
开始while(1<c)a,b互换,c=1;
第二次while(0<c)a,b互换,c=0;
循环结束 ;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式