int a=1,b=2,c=2,t; while(a<b<c) {t=a;a=b;b=t;c--;} printf("%d,%d,%d尀n",a,b,c);为什么输出的是1,2,0

2024-11-15 05:55:58
推荐回答(5个)
回答1:

首先看a第一次循环a第二次循环a第三次循环a

回答2:

a之后,a=2, b=1, c=1,继续进行while判断
a之后,a=1,b=2,c=0
此时while判断:a所以输出为1,2,0

回答3:

因为while(a

回答4:

你应该是把 a < b < c 理解错了,应该理解为 (a < b) < c 即 (a < b ? 1 : 0) < c

回答5:

这是不可能的