Member 13772209 Ответов: 2

В чем причина вывода givrn ниже в программе на языке Си


Программа довольно странная
Но выход странный, и я не могу его понять??
Не могли бы вы объяснить??

Что я уже пробовал:

главный()

{
если(5<4<3)
printf("Привет");

еще
printf("Намасте");
}



Выход:

Привет

2 Ответов

Рейтинг:
1

Patrice T

Довольно просто: этот синтаксис

if(5<4<3)

понимается компилятором как
if((5<4)<3)

и (5<4) в результате получается ложное логическое значение, которое является 0
Так что это то же самое, что
if(0<3)


CPallini

5.

Patrice T

Спасибо

Рейтинг:
1

Jochen Arndt

Разбейте его на компоненты и проанализируйте слева направо, как это делает компилятор, и подумайте о типе результата и значении сравнения.