以下程序的运行结果是()#include<stdio.h>main() {int a=1 ,b=2,c=3,t=4; while (a<b<c) {t=a;a=b;

b=t;c--;}printf("%d,%d,%d",a,b,c);}麻烦大家帮我解释哈这个程序... b=t;c--;}printf("%d,%d,%d",a,b,c);}麻烦大家帮我解释哈这个程序 展开
 我来答
睡不着想你了
推荐于2017-09-03 · TA获得超过524个赞
知道小有建树答主
回答量:309
采纳率:0%
帮助的人:298万
展开全部
答案是1,2,1
#include<stdio.h>
main()
{
int a=1 ,b=2,c=3,t=4;
while (a<b<c) //当条件成立,就执行while里面的代码,那么,这里面不成立就为0,成立就为1
{
t=a;
a=b;
b=t;
c--;
}
printf("%d,%d,%d",a,b,c);
}
这个程序的难点在于while (a<b<c) ,a<b<c是如何判断的,我经过调试,一步一步观察,最后得出的结果是, while里面是从右向左进行比较的,这样只要有一个为真,则值为1,执行下一步,那么,当第一步为0,则不用看后面的比较,跳出循环,那么它就不能往下执行了,还有一点建议就是代码要整齐一点,不然你以后会看不出自己写的东西。
更多追问追答
追问
那既然 while里的表达式为假,跳出循环的话为什么C=1呢??方便的话留下QQ,我还几个题目不太懂呀。。。呵呵
追答
你有没看到程序里c--就是c=c-1,,这句话就是每执行一次循环,c就自减1,那么它执行2次后,条件不成立,它就得跳出循环,然后执行下一步,所以 C最后为1。
小特仑苏的忧伤
2013-01-14
知道答主
回答量:3
采纳率:0%
帮助的人:2.9万
展开全部
我觉得答案是4,1,1
在比较a<b<c是先比较a<b成立,循环一次,再比较1<c成立再循环一次,然后继续比较a<b不成立,跳出循环得出结果
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
东南和西北V
2018-12-20
知道答主
回答量:3
采纳率:0%
帮助的人:2306
展开全部
答案应该是121,第一次执行,a=2,b=1,c=2时a<b<c相当于2<1<2
当2<1时不成立为0,0<2成立为1,继续执行大括号,结果为121
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
被抛弃的硬币
2012-01-25 · 超过16用户采纳过TA的回答
知道答主
回答量:62
采纳率:0%
帮助的人:33.6万
展开全部
2,1,2
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
妙潇夜1426
高粉答主

2021-01-08 · 每个回答都超有意思的
知道答主
回答量:0
采纳率:0%
帮助的人:0
展开全部

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式