下列程序执行的结果是() a=1;b=2;c=3; while(a<b<c) { t=a;a=b;b=t;c--;} printf("%d,%d,%d",a,b,c);

要详细过程

先说条件:a<b<c,注意:<的结合性自左向右,而a<b条件为真。
然后说下C语言逻辑值的表示:真为1,假为0。所以a<b的值为1,于是a<b<c化为1<c即真。
最后t=a;a=b;b=t;是实现两个数相互交换的典型,所以a=2,b=1,而c--结果为2
所以最后输出结果为2,1,2.
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-05-29
第一次比较结果2,1,2,第二次结果1,2,1,结束。VC6.0的运行结果。
这个本身是错的,要写成while(a>b&&b>c).本回答被提问者采纳
第2个回答  2012-05-26
楼主认真点吧。。。。是while (b<a<c)
第3个回答  2011-05-29
2,1,3