为什么b=c,但是b<c却判断为真进入了循环
#include <stdio.h>
int main()
{
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);
}
为什么b=c,但是b<c却判断为真进入了循环
#include <stdio.h>
int main()
{
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);
}
a<b的值为真,bool和int比较会提升到int,因此下一步相当于1<c,显然为真。总之,程序中不能写连续的不等式,这是语言特意这样设计的。