Я изучаю язык C, и у меня есть следующий вопрос (извините, если они глупые)
Я использую Dev-C ++ 4.9.9.2 для запуска некоторых примеров:
int m=3, n=4, k = 2;
(1) printf("%d", k<m<n); => this one prints 1
(2) printf("%d", k>m>n); => this one prints 0
(3) printf("%d", m<n>k); => this one prints 0
Как сказано в книге: «Нулевое значение означает ложь, а любое другое значение означает истину».
Итак, почему утверждение (3) печатает 0 (ложь). Я думал, что это должно быть 1, или что мне здесь не хватает?
Кто-нибудь может дать мне четкое объяснение, пожалуйста?
Большое спасибо.