【发布时间】:2022-11-27 03:48:00
【问题描述】:
我已经使用 Mingw GCC 编译器在我的 VS 代码中完成了这段代码,我得到的输出是“No”而不是“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
【问题讨论】:
-
因为 C 中的
5 > a > 3与数学中的不一样。它被评估为(5 > a) > 3,这是错误的 -
“很明显5>4>3”->第
5>4是1,1 >3是0。 -
Python 可能是唯一一种能够以您期望的方式工作的相当流行的语言。
-
我不知道这是真诚地试图“回收”一个老问题,是一种嘲笑关闭决定的报复性尝试,还是一种纯粹的破坏行为。但是,以防万一这是一个诚实的错误,您不能编辑您的问题以将其替换为一个完全不同且不相关的问题(关于 '*' 打印的时间复杂度)。我回滚到原来的问题
标签: c