-
- Посмотрел свой остальной код в проекте - так и написано. symbions(21 знак., 27.09.2017 13:30)
- Вообще-то лучше, когда в качестве условия для IF ставятся логические величины (здесь же - число). Причина, видимо, в "логическом" (побитовом) характере анализа условия. Но ведь число 0 может и не содержать все нули! Клевещут, что и стандарт С++ Petrovich(190 знак., 27.09.2017 13:20, )
- Дело не в в бинарном представлении числ int или float, а в неявном преобразовании типов в тип bool, которое выполняет компилятор в языках С/С++. А правило такого преобразования гласит, что ненулевое значение выражения преобразуется в true, Ксения(136 знак., 27.09.2017 14:34)
- Всё бы ничего, только неявного приведения к типу _Bool в языке Си не бывает. - SciFi(27.09.2017 14:39)
- Даже когда тип bool в языке отсутствует (хотя современные Си-компиляторы этот тип обычно поддерживают), преобразование идет к типу boolean (хотя для переменных такой тип может быть не определен) ровно по тому же правилу. Т.е. уже то, что в языке Ксения(183 знак., 27.09.2017 15:32)
- Обожаю, когда свойства языка Си постигаются пытливым экспериментатором эмпирически. Это всегда доставляет. Мануалы (а тем паче стандарты) написаны для трУсов! :-) - SciFi(27.09.2017 15:36)
- Так оно и быть должно. Работают обычно с конкретным компилятором, рассчитывая именно на его возможности, а не на стандарты. Стандарты пусть учат разработчики компиляторов - это им по штату положено, а нам этого не надо. :) - Ксения(27.09.2017 15:39)
- Кроме того, так гораздо веселее! Столько новых приключений на
свою провном месте! :-) - SciFi(27.09.2017 15:45)
- Кроме того, так гораздо веселее! Столько новых приключений на
- Так оно и быть должно. Работают обычно с конкретным компилятором, рассчитывая именно на его возможности, а не на стандарты. Стандарты пусть учат разработчики компиляторов - это им по штату положено, а нам этого не надо. :) - Ксения(27.09.2017 15:39)
- Обожаю, когда свойства языка Си постигаются пытливым экспериментатором эмпирически. Это всегда доставляет. Мануалы (а тем паче стандарты) написаны для трУсов! :-) - SciFi(27.09.2017 15:36)
- Даже когда тип bool в языке отсутствует (хотя современные Си-компиляторы этот тип обычно поддерживают), преобразование идет к типу boolean (хотя для переменных такой тип может быть не определен) ровно по тому же правилу. Т.е. уже то, что в языке Ксения(183 знак., 27.09.2017 15:32)
- Всё бы ничего, только неявного приведения к типу _Bool в языке Си не бывает. - SciFi(27.09.2017 14:39)
- Дело не в в бинарном представлении числ int или float, а в неявном преобразовании типов в тип bool, которое выполняет компилятор в языках С/С++. А правило такого преобразования гласит, что ненулевое значение выражения преобразуется в true, Ксения(136 знак., 27.09.2017 14:34)