5 / 5 / 0
Регистрация: 27.10.2012
Сообщений: 21
|
||||||
1 | ||||||
Объяснить почему переменная принимает данное значение15.12.2016, 21:30. Показов 686. Ответов 6
Метки нет (Все метки)
0
|
15.12.2016, 21:30 | |
Ответы с готовыми решениями:
6
Неинициализированая переменная принимает значение -858993460 Переменная в цикле не принимает значение ноль Почему переменная b не принимает значение? Переменная не принимает значение |
13 / 13 / 10
Регистрация: 23.08.2015
Сообщений: 131
|
|
15.12.2016, 21:44 | 2 |
Это как в математике. В начале выполняется умножение\деление, затем сложение и вычитание. Только тут приоритеты другие.
++v по приоритету выше чем умножение и сложение. (префиксная запись) в то же время, v++ - ниже. (постфиксная запись) Т.е. если бы ты писал v++, то вначале бы вычислялось уравнение со значением v = 5, а потом бы уже v увеличивалась бы на 1. Следовательно, в начале программа выполняет ++v (дважды), получаем v = 7, затем умножение v*2 , получаем 14, затем сложение. Получаем 32. Добавлено через 5 минут Вот тут подробнее можешь ознакомиться с приоритетами операций Приоритет операций C++
0
|
5 / 5 / 0
Регистрация: 27.10.2012
Сообщений: 21
|
|
15.12.2016, 21:47 [ТС] | 3 |
да,да. я уже понял почему так. Я знаю про приоритеты.
Просто я не учел, что после того как выполнился второй инкремент(в правой части выражения), первый "++v" тоже стал на 1 больше то есть 7.
0
|
2022 / 1621 / 489
Регистрация: 31.05.2009
Сообщений: 3,005
|
|
16.12.2016, 00:18 | 4 |
На самом деле, что и в какой последовательности должно вычисляться в вышеприведённом примере, это вопрос скорее философский Почитайте о точках следования и всё станет понятно.
0
|
Любитель чаепитий
|
|
16.12.2016, 15:02 | 5 |
0
|
Неэпический
|
|
18.12.2016, 12:11 | 6 |
0
|
425 / 229 / 87
Регистрация: 25.03.2009
Сообщений: 744
|
|
18.12.2016, 12:22 | 7 |
Maks_Tor,
Не по теме: ну а если совсем серьезно, то никогда ничего подобного не пиши в коде.
0
|
18.12.2016, 12:22 | |
18.12.2016, 12:22 | |
Помогаю со студенческими работами здесь
7
Переменная не принимает заданное значение Логическая переменная не принимает нужное значение Функция find - переменная принимает неадекватное значение Какое значение принимает переменная p после выполнения следующего фрагмента программы Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |