-
- if(b==0) return true; else return false; или return ((b==0) ? true : false); - AlexBi(03.09.2015 10:41)
- Спасибо,сам нигде не нашёл. - VNP(03.09.2015 10:54)
- Ужос. И в учебнике не написано? Выкиньте этот учебник на помойку. - SciFi(03.09.2015 15:36)
- Процитируй. - VNP(03.09.2015 16:42)
- Краткий справочник (страница 23) - ucmike(04.09.2015 13:22, ссылка)
- вопрос не в том что такое ЛОЖЬ и ИСТИНА,а в том что логичнее было бы писать if(b==0) return(0) else return(0x01).AlexBi вообщем-то сказал что форма записи return(a==b) существует и Олдфаг высокохудожественным слогом. - VNP(04.09.2015 14:33)
- Следуя этой логике, следует запретить запись "i++;", ибо логичнее "i = i + 1;". Так можно половину языка Си запретить. SciFi(101 знак., 05.09.2015 07:51 - 08:01)
- На самом деле все наоборот. Bill(72 знак., 04.09.2015 21:28)
- вопрос не в том что такое ЛОЖЬ и ИСТИНА,а в том что логичнее было бы писать if(b==0) return(0) else return(0x01).AlexBi вообщем-то сказал что форма записи return(a==b) существует и Олдфаг высокохудожественным слогом. - VNP(04.09.2015 14:33)
- Вообще-то да. В каждом уважающем себя учебнике по Си, после главы Как избавиться от крыс и мышей, обязательно есть заклинание "Операции сравнения и логические операции в результате дают значение типа bool, то есть true или false") - Олдфаг(03.09.2015 17:20,
)
- Наглый врун. Результат операции сравнения имеет тип int и значение 0 или 1. - SciFi(03.09.2015 22:52)
- двойка по основам!(с) ноль и неноль, while(2); тоже зациклится - БезИмени(04.09.2015 20:05,
)
- Вход и выход не путаем... на входе булевых операций любой неноль -- Истина, и только ноль -- Ложь. А на выходе детерминированная единица для Истины и ноль для Лжи. Легко и удобно писать красивые вещи, граничащие с пыткой по отношению к тем, кто Николай Коровин(135 знак., 06.09.2015 19:43)
- дурачок без имени - SciFi(05.09.2015 07:52)
- Вот яркий пример полиморфизма головного мозга! Машинный код покажи (с) БезИмени2(204 знак., 07.09.2015 20:04,
)
- Вы сами на ассемблере вряд ли стали бы так писать. В данном случае константа отлична от нуля. А все, что отлично от нуля, - ИСТИНА. Стало быть, условие выполняется выполняется всегда. Поэтому компилятор просто не будет генерировать никакого Bill(6 знак., 08.09.2015 06:48)
- Как же не будет? А LJMP $ ? - Petrovich(08.09.2015 11:04,
)
- Как же не будет? А LJMP $ ? - Petrovich(08.09.2015 11:04,
- Вы сами на ассемблере вряд ли стали бы так писать. В данном случае константа отлична от нуля. А все, что отлично от нуля, - ИСТИНА. Стало быть, условие выполняется выполняется всегда. Поэтому компилятор просто не будет генерировать никакого Bill(6 знак., 08.09.2015 06:48)
- Полюбуйтесь на кроссавчега. Сам же запутал человечество, низведя высокие понятия ИСТИНА и ЛОЖЬ до презренных цифр - и обзывается. А теперь потрудитесь объяснить Бызымянному как написать на Си условие цикла ПОКА( условие == ИСТИННО ) для числа 2. Олдфаг(96 знак., 05.09.2015 10:25,
)
- Гы-гы. После нажимания на (плюс) раскрыть, а потом снова, слово Олдфаг пропадает. Это баг или фича? :-) А если по теме: вы всегда программируете, оперируя общефилософскими понятиями типа "ложь, истина, справедливость, диалектика"? До презренных SciFi(85 знак., 05.09.2015 10:57 - 10:59)
- Пример, сестра... Мы лохи, но Безымянный ждёт. Он не будет долго ждать и уйдёт несведущим. - Олдфаг(05.09.2015 11:21,
)
- Мне внучку вести на день города, поэтому ждать некогда( Если true это int 1, то получается, что while(2) компилятор должен преобразовать в while(!!2==1) - Олдфаг(05.09.2015 11:54,
)
- Вы фсе болеете штоле? Зачем компилятор будет что-то преобразовывать? "An iteration statement causes a statement called the loop body to be executed repeatedly until the controlling expression compares equal to 0" SciFi(163 знак., 05.09.2015 16:51 - 16:56)
- Ну сказано же: надо обойтись без ЛЖЫ! Только сравнение с ИСТИНОЙ. PS Конечно, компилер не преобразовывает, он просто сравнивает с 0, что доказывает: для компилятора true есть не только 1, но и любой ненуль. И скорее всего правильно объявлять Олдфаг(36 знак., 05.09.2015 17:36,
)
- Подытоживая: компилер на входе принимает за истину-true любое ненулевое значение, а когда сам генерирует true - то даёт ч0тко 1. Для нас изо всей херни важно одно: в программах можно сравнивать if(x==false), но ни в коем нельзя сравнивать Олдфаг(12 знак., 05.09.2015 18:03,
)
- Неплохое объяснение для блондинок. А можно просто заглянуть в первоисточник. - SciFi(05.09.2015 18:49)
- Первоисточники, как и мои любимые габаритные блондинки, без практики - бревно бревном. - Олдфаг(05.09.2015 19:19,
)
- Вы просто не умеете их готовить :-) - SciFi(05.09.2015 19:25)
- Первоисточники, как и мои любимые габаритные блондинки, без практики - бревно бревном. - Олдфаг(05.09.2015 19:19,
- Неплохое объяснение для блондинок. А можно просто заглянуть в первоисточник. - SciFi(05.09.2015 18:49)
- Подытоживая: компилер на входе принимает за истину-true любое ненулевое значение, а когда сам генерирует true - то даёт ч0тко 1. Для нас изо всей херни важно одно: в программах можно сравнивать if(x==false), но ни в коем нельзя сравнивать Олдфаг(12 знак., 05.09.2015 18:03,
- Ну сказано же: надо обойтись без ЛЖЫ! Только сравнение с ИСТИНОЙ. PS Конечно, компилер не преобразовывает, он просто сравнивает с 0, что доказывает: для компилятора true есть не только 1, но и любой ненуль. И скорее всего правильно объявлять Олдфаг(36 знак., 05.09.2015 17:36,
- Вы фсе болеете штоле? Зачем компилятор будет что-то преобразовывать? "An iteration statement causes a statement called the loop body to be executed repeatedly until the controlling expression compares equal to 0" SciFi(163 знак., 05.09.2015 16:51 - 16:56)
- Мне внучку вести на день города, поэтому ждать некогда( Если true это int 1, то получается, что while(2) компилятор должен преобразовать в while(!!2==1) - Олдфаг(05.09.2015 11:54,
- Пример, сестра... Мы лохи, но Безымянный ждёт. Он не будет долго ждать и уйдёт несведущим. - Олдфаг(05.09.2015 11:21,
- Гы-гы. После нажимания на (плюс) раскрыть, а потом снова, слово Олдфаг пропадает. Это баг или фича? :-) А если по теме: вы всегда программируете, оперируя общефилософскими понятиями типа "ложь, истина, справедливость, диалектика"? До презренных SciFi(85 знак., 05.09.2015 10:57 - 10:59)
- Вот яркий пример полиморфизма головного мозга! Машинный код покажи (с) БезИмени2(204 знак., 07.09.2015 20:04,
- Ну, во первых в С99 уже введен тип бул(это я в википедии вычитал), а во вторых, true false изначально приняты за 1 и 0, иначе бы оператор if(val==0) не был бы равнозначен оператору if(!val). Так что с пивком сгодится)) - Олдфаг(03.09.2015 23:40,
)
- двойка по основам!(с) ноль и неноль, while(2); тоже зациклится - БезИмени(04.09.2015 20:05,
- если переменной bool нету,то что возвращать - VNP(03.09.2015 17:49)
- Гы-гы. Все не двоечники знают, что (2==3) - это ноль, а (2==2) - это один. - SciFi(03.09.2015 22:48)
- причем тут переменная ? имеется выражение, результат которого bool, его и возвращают... - sav6622(03.09.2015 17:54)
- возвращаемое значение в прототипе функции определено как unsigned char типа bool не существует в принципе.Понятно что функция возвращает "0" или не "0",но как-то режет глаз - VNP(03.09.2015 18:04)
- Переходи на pascal, если режет глаз. - Скрипач(03.09.2015 18:07)
- Да не, просто надо знать что где-то в недрах самого дремучего компилятора Си про bool как результат логической операции все же известно, просто он, когда потребуется, неявно но неотвратимо расширяется до uchar. - Олдфаг(03.09.2015 18:11,
)
- может до int? - misyachniy(03.09.2015 18:19)
- Да не, просто надо знать что где-то в недрах самого дремучего компилятора Си про bool как результат логической операции все же известно, просто он, когда потребуется, неявно но неотвратимо расширяется до uchar. - Олдфаг(03.09.2015 18:11,
- Переходи на pascal, если режет глаз. - Скрипач(03.09.2015 18:07)
- возвращаемое значение в прототипе функции определено как unsigned char типа bool не существует в принципе.Понятно что функция возвращает "0" или не "0",но как-то режет глаз - VNP(03.09.2015 18:04)
- Наглый врун. Результат операции сравнения имеет тип int и значение 0 или 1. - SciFi(03.09.2015 22:52)
- Краткий справочник (страница 23) - ucmike(04.09.2015 13:22, ссылка)
- Процитируй. - VNP(03.09.2015 16:42)
- Ужос. И в учебнике не написано? Выкиньте этот учебник на помойку. - SciFi(03.09.2015 15:36)
- Спасибо,сам нигде не нашёл. - VNP(03.09.2015 10:54)
- if(b==0) return true; else return false; или return ((b==0) ? true : false); - AlexBi(03.09.2015 10:41)