c程序请教

来源:百度知道 编辑:UC知道 时间:2024/05/16 09:53:19
#include<stdio.h>
void main()
{int t,a=2,b=3,c=-2;
while(a>b>c)
{t=a;a=b;b=t;c++;}
printf("%d,%d,%d",a,b,c);}
结果2,3,0请问这是为什么
我运行了,答案没错

主要在于while(a>b>c)
第一遍循环:a>b>c=(2>3)>-2=0>-2=1,条件为真,继续循环,a,b值交换,c=-1;
第二遍:a>b>c=3>2>-1=1>-1=1,为真,继续循环,a,b值交换,c=0;
第三遍:a>b>c=2>3>0=0>0=0,为假,结束循环,c=0不变,而a=2,b=3。
所以结果为2,3,0

晕死...你刚发了一次了吧..忘把C=-2发上来吧...

我就奇怪啦...都看不明白...

你这根本就没经过循环.直接输出a,b的值了..而C的值..你是用%d输出的..当然会变成0了

感觉不太对

应该是 3 2 -1