Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
25 / 25 / 11
Регистрация: 09.11.2012
Сообщений: 229

Разница между программами

31.12.2012, 22:40. Показов 1316. Ответов 14
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Какая между этими программами разница? Почему они другие результаты выводят?
C++
1
2
3
4
5
6
7
8
9
#include <iostream.h>
 
int main()
{
    int i=5;
    i=++i + ++i;
    cout<<i;
    system("pause");
}
C++
1
2
3
4
5
6
7
8
9
#include <iostream.h>
 
int main()
{
    int i=5;
    i=i++ + ++i;
    cout<<i;
    system("pause");
}
C++
1
2
3
4
5
6
7
8
9
#include <iostream.h>
 
int main()
{
    int i=5;
    i=i++ + i++;
    cout<<i;
    system("pause");
}
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
31.12.2012, 22:40
Ответы с готовыми решениями:

Разница между двумя идентичными программами
Объясните разницу между двумя абсолютно идентичными программами. Программа 1, в текстовом файле где записаны 10 слов, нужно поменять 1 ,...

Связь между программами
У меня есть одна программа на C++. В ней следовательно есть несколько переменных (например int i = 3 и String c = &quot;test&quot;)....

Обмен данными между программами
Всем доброго времени суток! Возникла такая проблема: у меня есть два приложения, одно написано на С++, другое на С#. И необходимо сделать...

14
ComfyMobile
 Аватар для Nixy
401 / 282 / 34
Регистрация: 24.07.2012
Сообщений: 916
31.12.2012, 22:42
разные значния примет i в результате работы
1
 Аватар для Wolkodav
842 / 480 / 58
Регистрация: 18.09.2012
Сообщений: 1,688
31.12.2012, 22:45
Операции инкримента и декримента почитайте.
1
25 / 25 / 11
Регистрация: 09.11.2012
Сообщений: 229
31.12.2012, 22:45  [ТС]
А почему разные? Операции одни и те? Какая разница между префиксным и постфикскным инкрементом?
0
Эксперт С++
 Аватар для Avazart
8484 / 6151 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
31.12.2012, 22:46
Тут результат один - "неопределенное поведение"

http://alenacpp.blogspot.com/2... oints.html
http://blog.sjinks.pro/c-cpp/5... -the-fish/
1
 Аватар для v.a.l.i.d
425 / 390 / 113
Регистрация: 21.09.2012
Сообщений: 913
31.12.2012, 22:47
Результат у всех разный. В VS 2010 выводит 14 13 12
1
 Аватар для taras atavin
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
01.01.2013, 12:21
Один инкремент сначала выполняется, а потом используется переменная, другой наоборот, а неопределённость по точкам следования в рамках одного компилятора врядли вообще имеет значение.

Добавлено через 4 минуты
Ещё разные компиляторы могут вести себя по-разному в таком аспекте: если инкремент используется до использования переменной, то один может сначала выполнить все инкременты, а потом всё подставить, а другой подставить каждый операнд сразу после именно его вычисления, а если инкременет выполняется после использования переменной, то какой то компилятор может выполнить инкремент одного операнда до подстановки второго, а другой оба инкремента после вычисления всего выражения.
0
Неэпический
 Аватар для Croessmah
18144 / 10728 / 2066
Регистрация: 27.09.2012
Сообщений: 27,028
Записей в блоге: 1
01.01.2013, 12:22
уже обсуждалось Загвоздка в значении переменной
0
 Аватар для taras atavin
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
01.01.2013, 12:23
Там между компиляторами, а здесь различие инкрементов на одном, это разные темы.
0
Неэпический
 Аватар для Croessmah
18144 / 10728 / 2066
Регистрация: 27.09.2012
Сообщений: 27,028
Записей в блоге: 1
01.01.2013, 12:25
Цитата Сообщение от taras atavin Посмотреть сообщение
Там между компиляторами, а здесь различие инкрементов на одном, это разные темы.
Действительно. Но, думаю, всё равно будет полезно.
0
Higher
 Аватар для diagon
1953 / 1219 / 120
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
01.01.2013, 12:32
Цитата Сообщение от taras atavin Посмотреть сообщение
Там между компиляторами, а здесь различие инкрементов на одном, это разные темы.
А какая разница? Для всех 3 исходников ответ либо один(UB), либо континум - произойти от такого кода может что угодно. В том числе могут вывестись одинаковые числа, поэтому вопрос
Цитата Сообщение от tokar2 Посмотреть сообщение
Какая между этими программами разница? Почему они другие результаты выводят?
не имеет смысла
0
 Аватар для taras atavin
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
01.01.2013, 12:34
Цитата Сообщение от Croessmah Посмотреть сообщение
Но, думаю, всё равно будет полезно.
Согласен. Только не вместо, а дополнительно.
0
25 / 25 / 11
Регистрация: 09.11.2012
Сообщений: 229
01.01.2013, 13:38  [ТС]
Не мог бы кто-то расписать пошагово что здесь происходит? Я немного путаюсь)
C++
1
2
int i=5;
    i= i++ + ++i + ++i + i++ + i++;
0
 Аватар для taras atavin
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
01.01.2013, 13:41
А чёрт его знает, что здесь происходит, сам Страуструп это не распарсит. Вот если бы не было неопределённости по стандарту, тогда и я бы распарсил.
1
 Аватар для Wolkodav
842 / 480 / 58
Регистрация: 18.09.2012
Сообщений: 1,688
05.01.2013, 12:33
А запустите отладчик, пару раз пройдёте все вот и распарсите))
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
05.01.2013, 12:33
Помогаю со студенческими работами здесь

Обмен данными между программами
Здравствуйте Помогите сделать программу, чтобы при наборе все символов в сервере они сразу же отображались в клиенте, вот похожее, но...

Взаимодействие между двумя программами
Здравствуйте! Буду рад если кто сможет подсказать) Есть 2 программы. Одна написана на с#, другая на с++ mfc. Нужна наладить между ними...

Взаимодействие между двумя скомпилироваными программами
Скажите есть 2 скомпилированные программы!!!! как между ними передать текст?, запись в файл неподходит потому что появляется ошибка...

Переключение между программами в source files
Пусть имеется несколько программами в source files. Как запускать ту программу, которую мне нужно? А то компилируется программа, которая...

Передача данных между программами и сигналы
Здравствуйте, помогите пожалуйста с заданием. Есть 3 программы. Первая создает набор данных (например массив типа int или даже одно...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Новые блоги и статьи
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru