Статистика
Всего в нашей базе более 4 327 663 вопросов и 6 445 977 ответов!

Решите пожалуйста и объясните почему точно.... C C++

5-9 класс

a++-++a чему равно? Ноль ответ не совсем правильный..

Mrbasku 10 марта 2015 г., 17:53:36 (9 лет назад)
Рейтинг
+ 0 -
0 Жалоба
+ 0 -
12345gg
10 марта 2015 г., 19:44:22 (9 лет назад)

а++-++а ≠ 0 однозначно!
Выражение содержит два инкремента - сначала постфиксный, затем, после знака минус - префиксный. Постфиксный инкремент выполняется ПОСЛЕ выполнения операции, а префиксный - ДО. Поэтому сначала выполнится префиксный ++, который увеличит операнд "а", затем из прежнего значения a, стоящего слева от знака минус, вычтется "новое" значение "а", и затем уже постфиксный инкремент нарастит полученное значение.

+ 0 -
Vampir20033
10 марта 2015 г., 21:14:01 (9 лет назад)

Пусть a = 5 для определённости.
В данном выражении у нас есть оператор инкремента(увеличение на 1).
Посмотрим, что же получится в результате. В первом случае(a++) оператор инкремента постфиксный. Это значит, что если он входит в состав сложного выражения, то сначала выполняются другая операция, а ++ выполняется в последнюю очередь. Если же оператор инкремента префиксный, то для начала выполнится именно он. То есть, смотрите:
1)Вначале не обращаем внимания на знак ++, в качестве уменьшаемого пойдёт само значение а.(смотрим вышеизложенное).
2)Теперь определим значение вычитаемого. Ну во-первых. Именно сейчас выполняется a++ в его истинном виде, то есть, значение a становится равно 6.
Далее, у нас есть оператор ещё ++a. То есть, прежде чем вычитать, значение а текущее увеличивается на 1. То есть, значение а равно 6 + 1 = 7
Ну и теперь выполняем вычитание, 5 - 7 = -2
То есть, нуля тут не получится никак, это ОЧЕНЬ ЧАСТАЯ ОШИБКА. Выходит, что второй операнд на 2 больше первого, поэтому 0 не выйдет.

+ 0 -
Какашкаточкару
10 марта 2015 г., 22:43:59 (9 лет назад)

Комментарий удален

+ 0 -
Kenjaboevafaeza
11 марта 2015 г., 0:52:05 (9 лет назад)

Комментарий удален

+ 0 -
Selinsekerci
11 марта 2015 г., 3:42:38 (9 лет назад)

Комментарий удален

+ 0 -
Dimankcik2003
11 марта 2015 г., 5:37:32 (9 лет назад)

Комментарий удален

+ 0 -
Belatrissa
11 марта 2015 г., 8:18:49 (9 лет назад)

Комментарий удален

Ответить

Другие вопросы из категории

Определите, какое число будет напечатано в результате выполнения след. алг.:

Var a,b,t,M,R :integer;
begin
F:=-(x+4)*(x+2);
end;
BEGIN
a:=-20; b:=20;
M:=a; R:=F(a);
for t:=a to b do begin
if (F(t)>R)then begin
M:=t;
R:=F(t);
end;
end;
write(M);
END.

a) -3
B) 3
C) -2
D) 2

Структура БД изменится если

1. добавить/удалить поле
2. отредактировать запись
3. поменять местами записи
4. Добавить запись
5. Удалить запись

Читайте также

Как разделить 8 литров подсолнечного масла на две равные части по 4 литра, если кроме полного 8-литрового бидона есть два пустых бидона на 5 литров и 3

литра? Пожалуйста не объясняйте почему так, просто напишите 1-й перелив в 8 л. в 5л. и в 3л. ПОМОГИТЕ ПЛИЗ!!!!!!!! ОЧЕНЬ НАДО!!!!!!!!!!!!!!

Помогите пожалуйста и объясните почему:


1)Для какого из указанных значений числа X ложно выражение

Помогите пожалуйста с заданием.

Решите пожалуйста 3.11 номер

Объясните как решать,пожалуйста. В программе «:=» обозначает оператор присваивания, знаки

«+», «–», «*» и
«/» – соответственно операции сложения, вычитания, умножения и деления.
Правила выполнения операций и порядок действий соответствует правилам
арифметики.
Определите значение переменной b после выполнения алгоритма:
a := 2
b := 4
a := 2*a+3*b
b := a/2*b
В ответе укажите одно целое число – значение переменной b.



Вы находитесь на странице вопроса "Решите пожалуйста и объясните почему точно.... C C++", категории "информатика". Данный вопрос относится к разделу "5-9" классов. Здесь вы сможете получить ответ, а также обсудить вопрос с посетителями сайта. Автоматический умный поиск поможет найти похожие вопросы в категории "информатика". Если ваш вопрос отличается или ответы не подходят, вы можете задать новый вопрос, воспользовавшись кнопкой в верхней части сайта.