Мы знаем, что любые числа, не равные 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 соответственно?