Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту


 
Опции темы
Непрочитано 13.03.2013, 23:38  
tempora
Почётный гражданин KAZUS.RU
 
Регистрация: 10.01.2007
Сообщений: 3,412
Сказал спасибо: 65
Сказали Спасибо 664 раз(а) в 443 сообщении(ях)
tempora на пути к лучшему
По умолчанию Re: Пара непонятных моментов по языку СИ

Сообщение от Boba_spb Посмотреть сообщение
Ну так все так и должно быть
Вы не поняли всей прелести ситуации - приоритет операций тут абсолютно ни при чем, неопределенным является порядок интерпретации записи вида "i+++i". Вторая и третья строки в примере приведены вовсе не для того, чтобы сосчитать до семи и восьми, соответственно, а для того, чтобы показать, что:
  • из двух равноправных способов интерпретации выражения данный компилятор выбрал второй (а другой компилятор имеет право выбрать первый),
  • данный компилятор осуществил преинкремент не тогда, когда это "предусмотрено текстом", а до начала вычисления значения выражения (чтобы дважды не доставать значение i), а другой компилятор мог бы сделать иначе и получить ту же семерку, что и в первых двух строках.
Реклама:
__________________
There's always more than one way to skin a cat.
tempora вне форума  
Непрочитано 13.03.2013, 23:51  
Boba_spb
Почётный гражданин KAZUS.RU
 
Регистрация: 08.06.2008
Сообщений: 1,394
Сказал спасибо: 4
Сказали Спасибо 183 раз(а) в 167 сообщении(ях)
Boba_spb на пути к лучшему
По умолчанию Re: Пара непонятных моментов по языку СИ

Да посмотрел я на трех компиляторах IAR овском, борландовском и гнутом - все близняшки - как в учебнике "++ выше приоритет чем у + слева направо" Строку то они парсят слева направо вот и ловят ++ а потом +.
Boba_spb вне форума  
Непрочитано 13.03.2013, 23:53  
tempora
Почётный гражданин KAZUS.RU
 
Регистрация: 10.01.2007
Сообщений: 3,412
Сказал спасибо: 65
Сказали Спасибо 664 раз(а) в 443 сообщении(ях)
tempora на пути к лучшему
По умолчанию Re: Пара непонятных моментов по языку СИ

Сообщение от Boba_spb Посмотреть сообщение
Строку то они парсят слева направо
"Приоритет" определяет порядок исполнения, а не порядок распознавания парсером.
__________________
There's always more than one way to skin a cat.
tempora вне форума  
Непрочитано 14.03.2013, 00:23  
Boba_spb
Почётный гражданин KAZUS.RU
 
Регистрация: 08.06.2008
Сообщений: 1,394
Сказал спасибо: 4
Сказали Спасибо 183 раз(а) в 167 сообщении(ях)
Boba_spb на пути к лучшему
По умолчанию Re: Пара непонятных моментов по языку СИ

Ню ню - что значит тогда слева напрово ?
Придется позвонить знакомому - он на вычислительной математике универа студней учить программному ремеслу.

C# смотреть не интересно - его люди из борланда писали.
Хто там исчо у нас ? ваткомовский си глянуть.

Такс .. tempora, Ваша очередь тестить СИ.

Кстати, тесть - это тестер предыдущей версии жены !!!!
Миниатюры:
Нажмите на изображение для увеличения
Название: iii3.JPG
Просмотров: 36
Размер:	74.1 Кб
ID:	44611   Нажмите на изображение для увеличения
Название: iii1.JPG
Просмотров: 34
Размер:	71.4 Кб
ID:	44612   Нажмите на изображение для увеличения
Название: iii2.JPG
Просмотров: 36
Размер:	84.4 Кб
ID:	44613  

Boba_spb вне форума  
Непрочитано 14.03.2013, 00:24  
SasaVitebsk
Гражданин KAZUS.RU
 
Регистрация: 04.08.2006
Сообщений: 911
Сказал спасибо: 28
Сказали Спасибо 180 раз(а) в 139 сообщении(ях)
SasaVitebsk на пути к лучшему
По умолчанию Re: Пара непонятных моментов по языку СИ

Надо просто избегать таких вариантов написания ... В этом нет мастерства. Для компилятора не важно на одной строке будет написано выражение или на 5. Объём результирующего кода, в идеале, от этого не изменится, а наглядность и отлаживаемость будет лучше если разбить.
SasaVitebsk вне форума  
Непрочитано 14.03.2013, 00:29  
Boba_spb
Почётный гражданин KAZUS.RU
 
Регистрация: 08.06.2008
Сообщений: 1,394
Сказал спасибо: 4
Сказали Спасибо 183 раз(а) в 167 сообщении(ях)
Boba_spb на пути к лучшему
По умолчанию Re: Пара непонятных моментов по языку СИ

Люблю советы !!! Особенно бесплатные !!!
Boba_spb вне форума  
Непрочитано 14.03.2013, 00:37  
tempora
Почётный гражданин KAZUS.RU
 
Регистрация: 10.01.2007
Сообщений: 3,412
Сказал спасибо: 65
Сказали Спасибо 664 раз(а) в 443 сообщении(ях)
tempora на пути к лучшему
По умолчанию Re: Пара непонятных моментов по языку СИ

Сообщение от Boba_spb Посмотреть сообщение
Ню ню - что значит тогда слева направо?
Это значит, что операции из списка, составленного парсером, будут исполняться в том порядке, в котором они были найдены парсером в тексте. На порядок распознавания парсером это никак не распространяется. То есть, формального правила, обязывающего парсер в последовательности "+++" выделять сначала "++" а затем "+", в стандарте нет.

Сообщение от Boba_spb Посмотреть сообщение
Хто там исчо у нас ? ваткомовский си глянуть.
Такс .. tempora, Ваша очередь тестить СИ.
Ещё чего - вопросы стандарта языка я голосованием не решаю. Если Вам пришло в голову придумывать правила, которых нет в стандарте языка, основываясь на том, как и что Вы наблюдаете в компиляторах, имеющихся под рукой в данный момент, то это Ваш выбор, не более.
__________________
There's always more than one way to skin a cat.

Последний раз редактировалось tempora; 14.03.2013 в 00:39.
tempora вне форума  
Непрочитано 14.03.2013, 00:48  
Boba_spb
Почётный гражданин KAZUS.RU
 
Регистрация: 08.06.2008
Сообщений: 1,394
Сказал спасибо: 4
Сказали Спасибо 183 раз(а) в 167 сообщении(ях)
Boba_spb на пути к лучшему
По умолчанию Re: Пара непонятных моментов по языку СИ

Три из трех ведут себя одинаково в данной ситуации, хочется посмотреть на компилятор, который в данной ситуации поступит иначе.
Boba_spb вне форума  
Непрочитано 14.03.2013, 00:53  
tempora
Почётный гражданин KAZUS.RU
 
Регистрация: 10.01.2007
Сообщений: 3,412
Сказал спасибо: 65
Сказали Спасибо 664 раз(а) в 443 сообщении(ях)
tempora на пути к лучшему
По умолчанию Re: Пара непонятных моментов по языку СИ

Сообщение от Boba_spb Посмотреть сообщение
Три из трех ...
Вот это и называется голосованием.

Я никому не запрещаю расставлять себе грабли и ходить между ними. Моё дело - предупредить, а объяснять потом заказчику "раньше всё нормально было" буду не я.
__________________
There's always more than one way to skin a cat.
tempora вне форума  
Непрочитано 14.03.2013, 01:17  
Boba_spb
Почётный гражданин KAZUS.RU
 
Регистрация: 08.06.2008
Сообщений: 1,394
Сказал спасибо: 4
Сказали Спасибо 183 раз(а) в 167 сообщении(ях)
Boba_spb на пути к лучшему
По умолчанию Re: Пара непонятных моментов по языку СИ

Кстати, гнутый и иаровский СИ эту строчку ругнули слегка замечанием, а борланд молча скушал. Глянул в инете на эту забаву, говорят что бывают разные результаты от натройки оптимизаторов и исчо чего то там. Так что будем считать что мне просто повезло.
Boba_spb вне форума  
 

Закладки
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Комплементарная пара LORDCaric Информация по радиокомпонентам 2 19.11.2012 10:12
Лингвистический вопрос, по русскому языку!!! Sukhanov Отвлекитесь, эмбеддеры! 860 13.10.2010 16:18
DS18B20 и витая пара. Mishanya_82 Делимся опытом 6 25.03.2010 09:58
Комплементарная пара транзисторов SFA Информация по радиокомпонентам 19 21.05.2009 14:35
Help! Вопрос по языку Си ? nikhome Микроконтроллеры, АЦП, память и т.д 3 07.05.2008 07:23


Часовой пояс GMT +4, время: 13:20.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot