|
0 / 0 / 0
Регистрация: 02.09.2013
Сообщений: 67
|
||||||
Инкремент значения переменной03.10.2013, 21:52. Показов 2825. Ответов 34
Метки нет (Все метки)
Уважаемые форумчане, разъясните пожалуйста ответ компилятора
0
|
||||||
| 03.10.2013, 21:52 | |
|
Ответы с готовыми решениями:
34
Неожиданный результат при выводе значения переменной, несмотря на инкремент |
|
117 / 117 / 0
Регистрация: 27.09.2013
Сообщений: 710
|
|
| 03.10.2013, 22:00 | |
|
Потому что у i++ эффект следующий, сначала выполнить операцию сложения, а потом увеличить на еденицу!
Это называется побочным эффектом. Добавлено через 2 минуты расставьте скобки.
0
|
|
|
0 / 0 / 0
Регистрация: 02.09.2013
Сообщений: 67
|
||
| 03.10.2013, 22:01 [ТС] | ||
|
0
|
||
|
117 / 117 / 0
Регистрация: 27.09.2013
Сообщений: 710
|
||
| 03.10.2013, 22:05 | ||
|
Вы пропустите через отладчик и увидите сами, что получается.
0
|
||
|
0 / 0 / 0
Регистрация: 02.09.2013
Сообщений: 67
|
|
| 03.10.2013, 22:08 [ТС] | |
|
что за хрень...задача за первый класс..не пойму причём компилятор?
0
|
|
|
117 / 117 / 0
Регистрация: 27.09.2013
Сообщений: 710
|
|
| 03.10.2013, 22:10 | |
|
ultim, а при том, что именно от того как компилятор будет делать разбор строки, от того и будет зависеть результат!
0
|
|
|
0 / 0 / 0
Регистрация: 02.09.2013
Сообщений: 67
|
|||||||
| 03.10.2013, 22:13 [ТС] | |||||||
0
|
|||||||
|
117 / 117 / 0
Регистрация: 27.09.2013
Сообщений: 710
|
|
| 03.10.2013, 22:17 | |
|
Посмотрите под отладчиком!
0
|
|
|
0 / 0 / 0
Регистрация: 02.09.2013
Сообщений: 67
|
|
| 03.10.2013, 22:17 [ТС] | |
|
0
|
|
|
117 / 117 / 0
Регистрация: 27.09.2013
Сообщений: 710
|
||||||
| 03.10.2013, 22:30 | ||||||
|
Если вы работаете в студии, то там есть debuger (отдладчик), поищите его в меню
Если нет, то можно воспользоваться сторонним, например OllyDebuger и посмотреть во что превращается ваш код. Добавлено через 56 секунд И попробуйте изменить var на int Добавлено через 8 минут Вот у меня в Perl получается 37 ![]()
0
|
||||||
|
0 / 0 / 0
Регистрация: 02.09.2013
Сообщений: 67
|
|
| 03.10.2013, 22:30 [ТС] | |
|
брррррр???????
0
|
|
|
117 / 117 / 0
Регистрация: 27.09.2013
Сообщений: 710
|
||
| 03.10.2013, 22:33 | ||
![]() Перепишите строку по человечески. (вы и компилятор, тут видят разные операции)
0
|
||
|
0 / 0 / 0
Регистрация: 02.09.2013
Сообщений: 67
|
|||||||
| 03.10.2013, 22:35 [ТС] | |||||||
0
|
|||||||
|
117 / 117 / 0
Регистрация: 27.09.2013
Сообщений: 710
|
|
| 03.10.2013, 22:38 | |
|
Давайте так ...
Сложите int y = ++i и i++ и потом добавляйте по i (++i\i++) и смотрите. Добавлено через 35 секунд Тогда вы поймете как делает это C# Добавлено через 2 минуты Уверен, вас ждет сюрприз
0
|
|
|
0 / 0 / 0
Регистрация: 02.09.2013
Сообщений: 67
|
|
| 03.10.2013, 22:39 [ТС] | |
|
я так уже пробовал
++i + (i++)=8 (4+4)это понятно ++i + (i++) + (i++)=13это уже не понятно по теории должно 4+4+4
0
|
|
|
117 / 117 / 0
Регистрация: 27.09.2013
Сообщений: 710
|
|
| 03.10.2013, 22:44 | |
|
0
|
|
|
912 / 672 / 134
Регистрация: 01.03.2010
Сообщений: 1,279
|
||||||
| 03.10.2013, 22:45 | ||||||
|
ultim,
Все дело в старшенстве исполнения. // int y = ++i + 1; // будет 5 (сперва увеличение i, потом действие с числом) // int y = i++ + 1; // будет 4 (сперва действие с числом, потом увеличение i) Сперва i =4, потом 5, 6, опять 6, 7, 8, 9 (но 9 уже в выражение не попадает, т.к последнее i++ делается самым последним )
0
|
||||||
|
117 / 117 / 0
Регистрация: 27.09.2013
Сообщений: 710
|
|
| 03.10.2013, 22:46 | |
|
Он ++ как бы выносит за скобки, на потом...
0
|
|
|
0 / 0 / 0
Регистрация: 02.09.2013
Сообщений: 67
|
||
| 03.10.2013, 22:57 [ТС] | ||
|
0
|
||
|
117 / 117 / 0
Регистрация: 27.09.2013
Сообщений: 710
|
|
| 03.10.2013, 23:00 | |
|
0
|
|
| 03.10.2013, 23:00 | |
|
Помогаю со студенческими работами здесь
20
Инкремент переменной
Инкремент переменной в рекурсии Инкремент переменной префаба Странно работает инкремент переменной Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
Установка Emscripten SDK (emsdk) и CMake на Windows для сборки C и C++ приложений в WebAssembly (Wasm)
8Observer8 30.01.2026
Чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. Система контроля версиями Git. . .
|
Подключение Box2D v3 к SDL3 для Android: физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
|
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования.
Часть библиотеки BedvitCOM
Использованы. . .
|
|
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога
SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
|
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога
SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
|
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
|
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога
SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
|