История изменений
Исправление 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