Пить или не пить? Программисты привыкли мыслить в рамках булевой логики. Я хочу немножко поломать классические программистские представления о том, что такое логично.
В классической математической логике есть такое понятие: пропозиция. Она же утверждение, суждение и т.д. Утверждение может быть верным, верным может быть и его отрицание. Пока вроде всё нормально:
int p=1; if (p) { printf ("OK!\n"); } int p=0; if (!p) { printf ("OK!\n"); } Но это — булева логика.