为什么以下代码的输出是"No"?

  • 本文关键字:输出 No 代码 c
  • 更新时间 :
  • 英文 :


我已经使用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) )

相关内容

最新更新