Изменено: dayz, 16 Сентябрь 2005 - 13:30
помогите с С плз
#1 Опубликовано 16 Сентябрь 2005 - 13:27
#2 Опубликовано 16 Сентябрь 2005 - 13:35
#3 Опубликовано 16 Сентябрь 2005 - 13:37
#4 Опубликовано 16 Сентябрь 2005 - 13:45
#5 Опубликовано 16 Сентябрь 2005 - 15:36
Извините, уточню немного:& |
Если пишешь один раз, то это побитовые операции, если два && или || то это уже логические опреции. Т.е.
1|2=3
1||2=1
3&2=2
3&&2=1
В стандарте языка нет тождества true == 1
Поэтому можно быть уверенным, что
1 || 2 != 0
3 && 2 != 0
а собственно, чему равно значение данных выражений сказать нельзя.
Я встречал компиллятор, который в качестве true использовал ~false, т.е. -1.
С нами сила Алхазашвили!
#6 Опубликовано 16 Сентябрь 2005 - 15:41
С нами сила Алхазашвили!
#7 Опубликовано 16 Сентябрь 2005 - 16:14
С нами сила Алхазашвили!
#8 Опубликовано 17 Сентябрь 2005 - 9:59
Компиляторы, используемые в лицее, будут давать такие ответы. Но в обшем случае, конечно, я немного ошибся.Извините, уточню немного:
В стандарте языка нет тождества true == 1
Поэтому можно быть уверенным, что
1 || 2 != 0
3 && 2 != 0
а собственно, чему равно значение данных выражений сказать нельзя.
Я встречал компиллятор, который в качестве true использовал ~false, т.е. -1.
#9 Опубликовано 17 Сентябрь 2005 - 14:07
Хе-хе!собрались программисты!!! Товарищи менеджеры, создаем соседнюю тему и начинаем активно обсуждать кривые спроса и предложения! Жаль, что у вас маркетинга еще не было...
#10 Опубликовано 17 Сентябрь 2005 - 14:30
Не вспомнишь что за компилятор случайно?А то у меня как раз недавно по этому поводу спор с преподавтельницей нашей вышел -- она утверждает, что операторы и стандартные функции обязаны возвращать как true 1.(Вобщем-то в Кернигане так и написано), но мне вот тоже казалось что от комплера это зависит.Извините, уточню немного:
В стандарте языка нет тождества true == 1
Поэтому можно быть уверенным, что
1 || 2 != 0
3 && 2 != 0
а собственно, чему равно значение данных выражений сказать нельзя.
Я встречал компиллятор, который в качестве true использовал ~false, т.е. -1.
По теме
| и & это всё же операторы, а не функции.Ещё кстати есть ~ - побитовое отрицание и ^ - исключаещее или.
#11 Опубликовано 17 Сентябрь 2005 - 16:26
#12 Опубликовано 17 Сентябрь 2005 - 17:34
#13 Опубликовано 17 Сентябрь 2005 - 20:39
Точно не скажу.Не вспомнишь что за компилятор случайно?
Кажется, это был gcc из стандартного пакета FreeBSD... кажется.
ЗЫЖ Спорить не буду, но точно у Кернигана это прописано?
С нами сила Алхазашвили!
#14 Опубликовано 18 Сентябрь 2005 - 12:16
#15 Опубликовано 19 Сентябрь 2005 - 19:43
Б.Керниган,Д.Ритчи 3 издание, стр 63, 2 абзац
ЗЫЖ Спорить не буду, но точно у Кернигана это прописано?
"По определению численным результатом вычисления выражения отношеня или логического выражения является 1, если оно истинно, 0, если оно ложно."
ЗЫ я сама не поверила пока своими глазами не увидела.
Вот это врядли.У нас по идее именно он в машзале должен стоять(я в нём ещё не была),и преподша на него ссылалась...Хотя нужно самой прверить.Точно не скажу.
Кажется, это был gcc из стандартного пакета FreeBSD... кажется.
0 пользователей читают эту тему
0 пользователей, 0 гостей, 0 невидимых