我已经使用Mingw GCC编译器在我的VS-code中完成了这段代码,我得到了输出"而不是"yes"?很明显,5>4>3,那么背后的原因是什么呢?
#include <stdio.h>
int main()
{
int a = 4;
if (5 > a > 3)
printf("Yes");
else
printf("No");
return 0;
}
Expected Output: Yes
Original Output: No
(5 > a > 3)
不是你想的那个意思。转化为(5>a) > 3
,(5>a)
转化为1
。然后,1>3
求值为false,因此得到"No"
做你想做的,你做if ( (5 > a) && (a > 3) )
。