Мы знаем, что любые числа, не равные 0
, рассматриваются как true
в C, поэтому мы можем написать:
int a = 16;
while (a--)
printf("%d\n", a); // prints numbers from 15 to 0
Тем не менее, мне было интересно, определены ли true/false как 1
/0
в C, поэтому я пробовал код ниже:
printf("True = %d, False = %d\n", (0 == 0), (0 != 0)); // prints: True = 1, False = 0
В стандарте C явно указаны значения истинности true и false как 1
и 0
соответственно?