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

Какое значение будет иметь а? - C++

Восстановить пароль Регистрация
 
taeas1995
6 / 2 / 0
Регистрация: 19.01.2012
Сообщений: 157
27.07.2014, 18:49     Какое значение будет иметь а? #1
Помогите выбрать правильный вариант в этой задаче(и еще объясните, как вы считали). Заранее спасибо.
C++
1
2
3
4
5
6
int a;
int f(int x)
{
a=0;
return x;
}
Какое значение будет иметь а, после:
C++
1
2
а=1;
a=a+f(a);
Варианты:
1) 2
2) 1
3) 0
4) 3
5) 5
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.07.2014, 18:49     Какое значение будет иметь а?
Посмотрите здесь:

C++ Ошибка выражение должно иметь константное значение
Какое назначение может иметь в программе приведенный цикл без тела? C++
C++ Почему конструктор не должен иметь возвращаемое значение?
Какое значение будет выведено в результате выполнения последовательности операторов C++
C++ Какое значение будет выведено при выполнении операторов?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
GetHelp
-8 / 60 / 6
Регистрация: 27.02.2013
Сообщений: 1,112
27.07.2014, 18:56     Какое значение будет иметь а? #2
рукалицо ты даже не пытался вникнуть? а будет равно 1, объяснять очевидное не вижу смысла...
Voivoid
 Аватар для Voivoid
580 / 256 / 12
Регистрация: 31.03.2013
Сообщений: 1,283
27.07.2014, 19:35     Какое значение будет иметь а? #3
О, хехе, объясни-ка очевидное
GetHelp
-8 / 60 / 6
Регистрация: 27.02.2013
Сообщений: 1,112
27.07.2014, 19:40     Какое значение будет иметь а? #4
Цитата Сообщение от Voivoid Посмотреть сообщение
О, хехе, объясни-ка очевидное
ну ладно может все и не так очевидно как кажется на первый взгляд, но все же в а будет 1: при вызове f - а обнуляется, а из f возвращает 1, т.е. выходит a = 0 + 1 = 1...
taeas1995
6 / 2 / 0
Регистрация: 19.01.2012
Сообщений: 157
27.07.2014, 19:43  [ТС]     Какое значение будет иметь а? #5
Помогите ещё с этим заданием: (и объясните пожалуйста, как посчитали):
C++
1
2
3
4
5
int k,n;
void S(int &k)
{
k=k+1;
}
Какое значение будет иметь k, после:
k=0; n=10; S(n);

1) 1
2) 11
3) 10
4) 2
5) 0
GetHelp
-8 / 60 / 6
Регистрация: 27.02.2013
Сообщений: 1,112
27.07.2014, 19:45     Какое значение будет иметь а? #6
Цитата Сообщение от taeas1995 Посмотреть сообщение
Помогите ещё с этим заданием
по моему это не скомпилится, т.к. глобальная и локальная переменная одним именем заданы... ты запутаешь компилятор в хлам...
Winorun
38 / 38 / 4
Регистрация: 03.05.2013
Сообщений: 177
27.07.2014, 19:47     Какое значение будет иметь а? #7
1 ответ аналогичен

Добавлено через 1 минуту
Цитата Сообщение от GetHelp Посмотреть сообщение
по моему это не скомпилится, т.к. глобальная и локальная переменная одним именем заданы... ты запутаешь компилятор в хлам...
Внутри фунции k - локальная, обычно
Voivoid
 Аватар для Voivoid
580 / 256 / 12
Регистрация: 31.03.2013
Сообщений: 1,283
27.07.2014, 19:47     Какое значение будет иметь а? #8
Цитата Сообщение от GetHelp Посмотреть сообщение
ну ладно может все и не так очевидно как кажется на первый взгляд
А если вспомнить про неопределенный порядок вычисления операндов?
taeas1995
6 / 2 / 0
Регистрация: 19.01.2012
Сообщений: 157
27.07.2014, 19:47  [ТС]     Какое значение будет иметь а? #9
Разве не а= 1+0 = 1 ? (если а= 0+1 = 1 то объясните как так).
GetHelp
-8 / 60 / 6
Регистрация: 27.02.2013
Сообщений: 1,112
27.07.2014, 19:52     Какое значение будет иметь а? #10
Цитата Сообщение от Winorun Посмотреть сообщение
Внутри фунции k - локальная, обычно
да? ок может чего не знал... тогда в k будет 0
Цитата Сообщение от Voivoid Посмотреть сообщение
А если вспомнить про неопределенный порядок вычисления операндов?
ну я интереса ради даже запустил это, выдает 1 так то...
Цитата Сообщение от taeas1995 Посмотреть сообщение
Разве не а= 1+0 = 1 ? (если а= 0+1 = 1 то объясните как так).
когда ты передаешь переменную в функцию (без указателей, чистым типом) внутри функции выделяется память под нее и туда копируется значение, так что при обнулении а, x останется = переданной 1
gray_fox
What a waste!
 Аватар для gray_fox
1244 / 1127 / 53
Регистрация: 21.04.2012
Сообщений: 2,350
Завершенные тесты: 3
27.07.2014, 19:55     Какое значение будет иметь а? #11
Цитата Сообщение от GetHelp Посмотреть сообщение
ну я интереса ради даже запустил это, выдает 1 так то...
Порядок вычисления операндов для + не определён, так что может быть и 1, и 2.
GetHelp
-8 / 60 / 6
Регистрация: 27.02.2013
Сообщений: 1,112
27.07.2014, 19:57     Какое значение будет иметь а? #12
Цитата Сообщение от gray_fox Посмотреть сообщение
Порядок вычисления операндов для + не определён, так что может быть и 1, и 2.
может ты и прав... но у меня выдало 1... короче каверзные задачки
gray_fox
What a waste!
 Аватар для gray_fox
1244 / 1127 / 53
Регистрация: 21.04.2012
Сообщений: 2,350
Завершенные тесты: 3
27.07.2014, 20:00     Какое значение будет иметь а? #13
Цитата Сообщение от gray_fox Посмотреть сообщение
Порядок вычисления операндов для + не определён, так что может быть и 1, и 2.
Хотя тут скорее "неопределённое поведение", т.к. a модифицируется дважды.
taeas1995
6 / 2 / 0
Регистрация: 19.01.2012
Сообщений: 157
27.07.2014, 20:00  [ТС]     Какое значение будет иметь а? #14
Во второй задаче ответ вконце будет 0 или 1 ?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.07.2014, 20:01     Какое значение будет иметь а?
Еще ссылки по теме:

какое значение будет выведено при выполнении операторов C++
C++ По заданной дате необходимо определить, какое число будет послезавтра
Какое число будет через n дней C++

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

Или воспользуйтесь поиском по форуму:
GetHelp
-8 / 60 / 6
Регистрация: 27.02.2013
Сообщений: 1,112
27.07.2014, 20:01     Какое значение будет иметь а? #15
Цитата Сообщение от taeas1995 Посмотреть сообщение
Во второй задаче ответ вконце будет 0 или 1 ?
0 (10 раз 0 )
Yandex
Объявления
27.07.2014, 20:01     Какое значение будет иметь а?
Ответ Создать тему
Опции темы

Текущее время: 20:30. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru