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

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

Войти
Регистрация
Восстановить пароль
 
taeas1995
6 / 2 / 0
Регистрация: 19.01.2012
Сообщений: 157
#1

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

27.07.2014, 18:49. Просмотров 398. Ответов 14
Метки нет (Все метки)

Помогите выбрать правильный вариант в этой задаче(и еще объясните, как вы считали). Заранее спасибо.
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
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.07.2014, 18:49
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Какое значение будет иметь а? (C++):

Правила раскрытия макросов: какое значение будет иметь заданное выражение? - C++
#define sqr(x) x * x Какое значение будет иметь следующее выражение? sqr(3 + 0) почему не 9 ???

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

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

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

Какое значение будет выведено в результате выполнения последовательности операторов - C++
Помогите ответить на вопрос: Какое значение будет выведено в результате выполнения последовательности операторов cin >> x>>y; z=sqrt(...

Какое назначение может иметь в программе приведенный цикл без тела? - C++
for (t=0; t<SOME_VALUE; t++);

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
GetHelp
-7 / 61 / 6
Регистрация: 27.02.2013
Сообщений: 1,112
27.07.2014, 18:56 #2
рукалицо ты даже не пытался вникнуть? а будет равно 1, объяснять очевидное не вижу смысла...
0
Voivoid
675 / 278 / 12
Регистрация: 31.03.2013
Сообщений: 1,339
27.07.2014, 19:35 #3
О, хехе, объясни-ка очевидное
0
GetHelp
-7 / 61 / 6
Регистрация: 27.02.2013
Сообщений: 1,112
27.07.2014, 19:40 #4
Цитата Сообщение от Voivoid Посмотреть сообщение
О, хехе, объясни-ка очевидное
ну ладно может все и не так очевидно как кажется на первый взгляд, но все же в а будет 1: при вызове f - а обнуляется, а из f возвращает 1, т.е. выходит a = 0 + 1 = 1...
0
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
0
GetHelp
-7 / 61 / 6
Регистрация: 27.02.2013
Сообщений: 1,112
27.07.2014, 19:45 #6
Цитата Сообщение от taeas1995 Посмотреть сообщение
Помогите ещё с этим заданием
по моему это не скомпилится, т.к. глобальная и локальная переменная одним именем заданы... ты запутаешь компилятор в хлам...
0
Winorun
38 / 38 / 4
Регистрация: 03.05.2013
Сообщений: 177
27.07.2014, 19:47 #7
1 ответ аналогичен

Добавлено через 1 минуту
Цитата Сообщение от GetHelp Посмотреть сообщение
по моему это не скомпилится, т.к. глобальная и локальная переменная одним именем заданы... ты запутаешь компилятор в хлам...
Внутри фунции k - локальная, обычно
0
Voivoid
675 / 278 / 12
Регистрация: 31.03.2013
Сообщений: 1,339
27.07.2014, 19:47 #8
Цитата Сообщение от GetHelp Посмотреть сообщение
ну ладно может все и не так очевидно как кажется на первый взгляд
А если вспомнить про неопределенный порядок вычисления операндов?
0
taeas1995
6 / 2 / 0
Регистрация: 19.01.2012
Сообщений: 157
27.07.2014, 19:47  [ТС] #9
Разве не а= 1+0 = 1 ? (если а= 0+1 = 1 то объясните как так).
0
GetHelp
-7 / 61 / 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
0
gray_fox
What a waste!
1520 / 1223 / 70
Регистрация: 21.04.2012
Сообщений: 2,560
Завершенные тесты: 3
27.07.2014, 19:55 #11
Цитата Сообщение от GetHelp Посмотреть сообщение
ну я интереса ради даже запустил это, выдает 1 так то...
Порядок вычисления операндов для + не определён, так что может быть и 1, и 2.
0
GetHelp
-7 / 61 / 6
Регистрация: 27.02.2013
Сообщений: 1,112
27.07.2014, 19:57 #12
Цитата Сообщение от gray_fox Посмотреть сообщение
Порядок вычисления операндов для + не определён, так что может быть и 1, и 2.
может ты и прав... но у меня выдало 1... короче каверзные задачки
0
gray_fox
What a waste!
1520 / 1223 / 70
Регистрация: 21.04.2012
Сообщений: 2,560
Завершенные тесты: 3
27.07.2014, 20:00 #13
Цитата Сообщение от gray_fox Посмотреть сообщение
Порядок вычисления операндов для + не определён, так что может быть и 1, и 2.
Хотя тут скорее "неопределённое поведение", т.к. a модифицируется дважды.
0
taeas1995
6 / 2 / 0
Регистрация: 19.01.2012
Сообщений: 157
27.07.2014, 20:00  [ТС] #14
Во второй задаче ответ вконце будет 0 или 1 ?
0
GetHelp
-7 / 61 / 6
Регистрация: 27.02.2013
Сообщений: 1,112
27.07.2014, 20:01 #15
Цитата Сообщение от taeas1995 Посмотреть сообщение
Во второй задаче ответ вконце будет 0 или 1 ?
0 (10 раз 0 )
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.07.2014, 20:01
Привет! Вот еще темы с ответами:

Из заданных точек найти вершины треугольника, который будет иметь наибольшую площадь - C++
На плоскости даны 1000 точек. Найти треугольник, который будет иметь наибольшую площадь и вывести на экран и треугольник и точки....

Ошибка выражение должно иметь константное значение - C++
Всем привет. Тут такая песня началась забавная. Вообще для начала я хочу выделить очень важную для меня строку - никакого решения...

Error: Выражение должно иметь константное значение - C++
struct SolderInfo { string rang; string name; int pn; }; using namespace std; int main() { int n;

Почему конструктор не должен иметь возвращаемое значение? - C++
Почему конструктор не должен иметь возвращаемое значение? Мне кажется это было бы полезным.


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
27.07.2014, 20:01
Ответ Создать тему
Опции темы

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