1 / 1 / 1
Регистрация: 24.09.2013
Сообщений: 140
1

Код с подвохом: какое значение присвоится переменной?

13.07.2016, 20:55. Показов 2138. Ответов 26
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
есть часть кода
C++
1
2
3
a=0;
x=1;y=-1;
if(x>0) if (y=0) a=1 else a=2
C++
1
if (y=0)
тут идет присвоение значения y=0 а не сравнивание, если что)

вопрос в том какое значение присвоится переменной а ?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.07.2016, 20:55
Ответы с готовыми решениями:

Я вставляю новую запись и мне необходимо знать какое значение присвоится полю со счетчиком.
Народ помогите разобраться. Я вставляю новую запись и мне необходимо знать какое значение...

Блок-схема какое значение у переменной i
поступил учиться дистанционно на программиста, прохожу тест по алгоритмизации и вот дилемма не могу...

Какое значение переменной присвоить,чтобы в неё можно было писать текст
Почему при наборе в Edit тут же всё стирается? Какое значение переменной присвоить,чтобы в неё...

Как на этапе объявления присвоить переменной типа TPoint какое-либо значение?
Ну собственно весь вопрос в сабже. Если кому не понятно, приведу пример, вот допустим блок...

26
Хитрая блондиночка $)
1472 / 988 / 399
Регистрация: 21.12.2015
Сообщений: 3,785
13.07.2016, 20:59 2
Цитата Сообщение от Revolver19931 Посмотреть сообщение
какое значение присвоится переменной а ?
Скорее всего два.
0
805 / 532 / 158
Регистрация: 27.01.2015
Сообщений: 3,017
Записей в блоге: 1
13.07.2016, 21:00 3
Цитата Сообщение от Revolver19931 Посмотреть сообщение
какое значение присвоится переменной а ?
двойка?
0
125 / 125 / 44
Регистрация: 05.10.2013
Сообщений: 462
13.07.2016, 21:02 4
В чем подвох? Не знание, как работает оператор =?
0
Хитрая блондиночка $)
1472 / 988 / 399
Регистрация: 21.12.2015
Сообщений: 3,785
13.07.2016, 21:02 5
Кстати там ошибка синтаксическая...
0
👻👻👻
21 / 28 / 12
Регистрация: 22.04.2016
Сообщений: 166
13.07.2016, 21:02 6
Никакое, потому что точки с запятой нет перед else. А если её поставить, то 2, потому что if(y = 0) не пройдёт, так как это выражение не возвращает true
1
1 / 1 / 1
Регистрация: 24.09.2013
Сообщений: 140
13.07.2016, 21:28  [ТС] 7
Ну тогда получается что если не пройдет без "';" то значение a останется равным НУЛЮ ?
0
19 / 29 / 13
Регистрация: 09.02.2016
Сообщений: 230
13.07.2016, 21:30 8
Цитата Сообщение от daniilorain Посмотреть сообщение
А если её поставить, то 2, потому что if(y = 0) не пройдёт, так как это выражение не возвращает true
оно как раз и возвращает true, т.к. это утверждение

Добавлено через 1 минуту
Цитата Сообщение от Revolver19931 Посмотреть сообщение
Ну тогда получается что если не пройдет без "';"
вообще ничего не пройдет. как без ; после каждого, где нужно, должно скомпилироваться?
0
125 / 125 / 44
Регистрация: 05.10.2013
Сообщений: 462
13.07.2016, 21:32 9
Цитата Сообщение от Revolver19931 Посмотреть сообщение
Ну тогда получается что если не пройдет без "';" то значение a останется равным НУЛЮ ?
Не, тогда переменной a вообще не существует и ее значение не определено.
0
1 / 1 / 1
Регистрация: 24.09.2013
Сообщений: 140
13.07.2016, 21:43  [ТС] 10
так изначально присваивается значение a=0;
0
👻👻👻
21 / 28 / 12
Регистрация: 22.04.2016
Сообщений: 166
13.07.2016, 21:46 11
Хрисипп, То, что в скобках у if в данном случае не возвращает true
0
125 / 125 / 44
Регистрация: 05.10.2013
Сообщений: 462
13.07.2016, 21:48 12
Цитата Сообщение от Revolver19931 Посмотреть сообщение
так изначально присваивается значение a=0
так у вас код просто не скомпилируется, вот и всё.
0
_Ivana
13.07.2016, 21:56
  #13

Не по теме:

Когда я писал свой лисп, я думал - какой результат должен возвращать оператор присваивания? Сначала сделал чтобы возвращал то, что присваивается. И такая забавная засада началась - определяю функцию (факториал например) и следом ее вызываю, пусть от 6. Возвращает факториал 720 :) Потому что воспринимает как вызов внешней функции (результата оператора определения) от аргумента - значения этой функции от аргумента, то есть 6 :) В итоге плюнул и во всех непонятных случаях стал возвращать ОК - работает как часы :)

0
Заблокирован
13.07.2016, 22:10 14
Revolver19931, значение а будет 2, однако для этого в коде после присваиваний а нужно поставить ; иначе код вообще не соберётся. Также следует отметить что значение у после отработки кода станет 0, вместо изначального -1

Добавлено через 2 минуты
Соберётся вот такой код
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
using namespace std;
 
int main(){
    int a, x, y;
    a=0;
    x=1;y=-1;
    if((bool)(x>0)) 
    if((bool)(y=0)) 
       a=1; 
    else 
       a=2;
    cout<<a<<endl;
    return 0;
}
http://codepad.org/GgsCGxIC
2
0
_Ivana
13.07.2016, 22:21
  #15

Не по теме:

Да и без явных кастов само к булу прибулится

0
683 / 458 / 160
Регистрация: 01.10.2015
Сообщений: 1,264
13.07.2016, 22:24 16
_Ivana, тогда уж проще вообще написать:
C++
1
if (x) a = 2;
0
4817 / 2278 / 287
Регистрация: 01.03.2013
Сообщений: 5,947
Записей в блоге: 28
13.07.2016, 22:28 17
0x90h, проще, но работать будет по-другому на отрицательных иксах.
0
683 / 458 / 160
Регистрация: 01.10.2015
Сообщений: 1,264
13.07.2016, 22:32 18
Цитата Сообщение от _Ivana Посмотреть сообщение
на отрицательных иксах
Разве?
0
4817 / 2278 / 287
Регистрация: 01.03.2013
Сообщений: 5,947
Записей в блоге: 28
13.07.2016, 22:34 19
Цитата Сообщение от 0x90h Посмотреть сообщение
Разве?
Это несложно проверить.
0
:)
Эксперт С++
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
13.07.2016, 22:57 20
Цитата Сообщение от Revolver19931 Посмотреть сообщение
вопрос в том какое значение присвоится переменной а ?
Такие вопросы правильнее всего задавать компилятору. А если будет расхождение с ожидаемым поведением уже начинать разбор. И если понять не получилось - можно спросить и у других. Но ты, по-моему, первые два пункта проигнорировал.
0
13.07.2016, 22:57
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.07.2016, 22:57
Помогаю со студенческими работами здесь

Вычислить функцию, препд сказал с подвохом код не могу написать ХЕЛП
Ребят помогите пжл

Из переменной php вставить значение в код JS
Мне нужно что бы в функции JS openindexa() распознавалась переменная PHP $link_img_a #Функция на...

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

Как вставить значение переменной в HTML код?
Подскажите, как сделать, чтобы переменная $img вставлялась как &lt;img src=&quot;$img&quot;&gt;? while...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru