LINUX.ORG.RU

История изменений

Исправление www_linux_org_ru, (текущая версия) :

Потому что никто не гарантирует что отсутствие ошибок - это 0.

ыыы

в нормальном языке это гарантируется тем, что именно то, что автор указал конвертировать в true, в него и конвертируется

так было бы например в с++, если бы по причине «совместимости» с си не было бы кучи окольных путей сконвертнуть что-то в bool

особый цинизм ситуации придает то, что системные вызовы юникса именно 0 возвращают в случае успеха

Во втором случае комментарий не соответствует коду. У вас как раз и возвращается NULL в случае ошибки так то.

не чувак, ты вообще похоже ниче не понял — в случае ошибки возвращается строка с описанием ошибки, например «No route to host», в случае удачи — NULL

*естественно*, на нынешнем си это работать не будет, поскольку си сконвертит NULL в false

0xFFFFFFFF - это тоже true, как и любое отличное от 0 число.

а мозги включить?

вопрос в том, почему результат булевых операций true это 1, а не 0xFFFFFFFF

Исходная версия www_linux_org_ru, :

Потому что никто не гарантирует что отсутствие ошибок - это 0.

ыыы

в нормальном языке это гарантируется тем, что именно то, что автор указал конвертировать в true, в него и конвертируется

так было бы например в с++, если бы по причине «совместимости» с си не было бы кучи окольных путей сконвертнуть что-то в bool

особый цинизм ситуации придает то, что системные вызовы юникса именно 0 возвращают в случае успеха

Во втором случае комментарий не соответствует коду. У вас как раз и возвращается NULL в случае ошибки так то.

не чувак, ты вообще похоже ниче не понял — в случае ошибки возвращается строка с описаниме ошибки, например «No route to host», в случае удачи — NULL

*естественно*, на нынешнем си это работать не будет, поскольку си сконвертит NULL в false

0xFFFFFFFF - это тоже true, как и любое отличное от 0 число.

а мозги включить?

вопрос в том, почему результат булевых операций true это 1, а не 0xFFFFFFFF