#include<stdio.h>
int main()
{
int a=1,b=2,c=2;
int t;
while(a<b<c)
{
t=a;
a=b;
b=t;
c--;
}
printf("%d%d%d",a,b,c);
return 0; }
分析:在C语言中a<b<c的这种连续大于小于是不能被编译器识别的。
在while里判断a<b为true,因此a<b的值为1,1<c(c=2)为true,因此执行循环,a和b的值交换,c--
得到a=2,b=1,c=1;
此时在while里进行判断a<b的值为0,c=1,所以0<1依然成立,执行循环,a和b的值再次被交换,c--得到a=1,b=2,c=0;
最后输出的值是a=1,b=2,c=0.