我们知道任何不等于 0
的数字在 C 语言中都被看作是 true
,所以我们可以写:
int a = 16;
while (a--)
printf("%d\n", a); // prints numbers from 15 to 0
然而,我想知道 true/false 是否在 C 语言中定义为 1
/0
,所以我尝试了下面的代码:
printf("True = %d, False = %d\n", (0 == 0), (0 != 0)); // prints: True = 1, False = 0
C 标准是否分别以 1
和 0
表示 true 和 false 的真值?