Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Revolver19931
1 / 1 / 1
Регистрация: 24.09.2013
Сообщений: 139
#1

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

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

есть часть кода
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 а не сравнивание, если что)

вопрос в том какое значение присвоится переменной а ?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.07.2016, 20:55     Код с подвохом: какое значение присвоится переменной?
Посмотрите здесь:

Какое поле у структурной переменной содержащей указатель? - C++
Добрый день! Только учу С++. И, вот , возник вопрос. Обычная структура, например. struct sct { int d; int f; } sct s; ...

Какое значение будет иметь а? - C++
Помогите выбрать правильный вариант в этой задаче(и еще объясните, как вы считали). Заранее спасибо. int a; int f(int x) { a=0; ...

Задачка: какое значение вернет foo(7)? - C++
Как решаются такие рода задачки, подскажите пожалуйста. int foo(int n) { if(n<=0) return 1; else return...

Какое значение вернет программа операционной системе? - C++
Допустим, в программе присутствует следующий код: int fn(int a) { return a++; } void main() { int x = fn(7); return x; } ...

Какое получается значение и тип имеет литерал 3.14e1L - C++
3.14e1L Какое получается значение и тип? смущает суффикс e

Какое значение будет выведено при выполнении операторов? - C++
int a,b,*pa,*pb; a=1; b=2; pa=&a; pb=&b; *pb=a; *pa=b; cout<<*pa<<" "<<*pb;

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Hikari
Хитрая блондиночка $)
1447 / 954 / 285
Регистрация: 21.12.2015
Сообщений: 3,798
13.07.2016, 20:59     Код с подвохом: какое значение присвоится переменной? #2
Цитата Сообщение от Revolver19931 Посмотреть сообщение
какое значение присвоится переменной а ?
Скорее всего два.
Ferrari F1
Заблокирован
13.07.2016, 21:00     Код с подвохом: какое значение присвоится переменной? #3
Цитата Сообщение от Revolver19931 Посмотреть сообщение
какое значение присвоится переменной а ?
двойка?
HenryDukart
122 / 122 / 35
Регистрация: 05.10.2013
Сообщений: 455
Завершенные тесты: 2
13.07.2016, 21:02     Код с подвохом: какое значение присвоится переменной? #4
В чем подвох? Не знание, как работает оператор =?
Hikari
Хитрая блондиночка $)
1447 / 954 / 285
Регистрация: 21.12.2015
Сообщений: 3,798
13.07.2016, 21:02     Код с подвохом: какое значение присвоится переменной? #5
Кстати там ошибка синтаксическая...
daniilorain
👻👻👻
18 / 25 / 11
Регистрация: 22.04.2016
Сообщений: 166
13.07.2016, 21:02     Код с подвохом: какое значение присвоится переменной? #6
Никакое, потому что точки с запятой нет перед else. А если её поставить, то 2, потому что if(y = 0) не пройдёт, так как это выражение не возвращает true
Revolver19931
1 / 1 / 1
Регистрация: 24.09.2013
Сообщений: 139
13.07.2016, 21:28  [ТС]     Код с подвохом: какое значение присвоится переменной? #7
Ну тогда получается что если не пройдет без "';" то значение a останется равным НУЛЮ ?
Хрисипп
17 / 27 / 8
Регистрация: 09.02.2016
Сообщений: 212
13.07.2016, 21:30     Код с подвохом: какое значение присвоится переменной? #8
Цитата Сообщение от daniilorain Посмотреть сообщение
А если её поставить, то 2, потому что if(y = 0) не пройдёт, так как это выражение не возвращает true
оно как раз и возвращает true, т.к. это утверждение

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

Не по теме:

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

Unknownx
Заблокирован
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
_Ivana
13.07.2016, 22:21
  #15

Не по теме:

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

0x90h
273 / 238 / 83
Регистрация: 01.10.2015
Сообщений: 764
13.07.2016, 22:24     Код с подвохом: какое значение присвоится переменной? #16
_Ivana, тогда уж проще вообще написать:
C++
1
if (x) a = 2;
_Ivana
2887 / 1712 / 148
Регистрация: 01.03.2013
Сообщений: 4,883
Записей в блоге: 2
13.07.2016, 22:28     Код с подвохом: какое значение присвоится переменной? #17
0x90h, проще, но работать будет по-другому на отрицательных иксах.
0x90h
273 / 238 / 83
Регистрация: 01.10.2015
Сообщений: 764
13.07.2016, 22:32     Код с подвохом: какое значение присвоится переменной? #18
Цитата Сообщение от _Ivana Посмотреть сообщение
на отрицательных иксах
Разве?
_Ivana
2887 / 1712 / 148
Регистрация: 01.03.2013
Сообщений: 4,883
Записей в блоге: 2
13.07.2016, 22:34     Код с подвохом: какое значение присвоится переменной? #19
Цитата Сообщение от 0x90h Посмотреть сообщение
Разве?
Это несложно проверить.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.07.2016, 22:57     Код с подвохом: какое значение присвоится переменной?
Еще ссылки по теме:

Какое значение будет выведено в результате работы программы? - C++
#include &lt;iostream&gt; using namespace std; int main() { int k = 0; for (int i = 2; k * k &lt; 10; i &lt; 3, k++, k--) { k += 1; } ...

какое значение будет выведено при выполнении операторов - C++
помогите пожалуйста.

Принимает ли первый член неинициализированного массива какое-то значение по умолчанию? - C++
Доброго времени суток! Задался я одним вопросом. есть такой код #include&lt;iostream&gt; using namespace std; int main() { void...

Определить, какое абсолютное значение встречается в массиве чаще остальных - C++
Определить, какое абсолютное значение встречается в массиве чаще остальных Размерность массива=200 Диапазон значений от -50 до 50


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

Или воспользуйтесь поиском по форуму:
Tulosba
:)
Эксперт С++
4392 / 3235 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
13.07.2016, 22:57     Код с подвохом: какое значение присвоится переменной? #20
Цитата Сообщение от Revolver19931 Посмотреть сообщение
вопрос в том какое значение присвоится переменной а ?
Такие вопросы правильнее всего задавать компилятору. А если будет расхождение с ожидаемым поведением уже начинать разбор. И если понять не получилось - можно спросить и у других. Но ты, по-моему, первые два пункта проигнорировал.
Yandex
Объявления
13.07.2016, 22:57     Код с подвохом: какое значение присвоится переменной?
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru