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

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

Войти
Регистрация
Восстановить пароль
 
foolspeed93
1 / 1 / 0
Регистрация: 10.04.2012
Сообщений: 34
#1

Оператор запятая - C++

27.07.2015, 16:02. Просмотров 288. Ответов 5
Метки нет (Все метки)

int I, j;
j=10;
i = (j++, j+100, 999+j);
почему выведет 1010 а не 1110?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.07.2015, 16:02
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Оператор запятая (C++):

Оператор запятая - C++
почему тут выдает ошибку на endl cout << 666,666 << endl;

Оператор запятая в return и задача - C++
Всем ДВС! Разъясните пожалуйста, почему тимус принимает #include <cstdio> #include <cstdlib> const int MAXN = 1 << 5; ...

Что? (оператор "," (запятая)) - C++
Имеется часть кода, взятого из Википедии. double *alpha = new double; double *beta = new double; double A, B, C, F,...

Плавающая запятая - C++
Добрый день, было дано задание перевести программу с Делфи(среда Лазарус) на С++. До этого с Си языками вообще не встречался. После...

Написать программу, содержащую оператор оператор for для счета от 2 до 5 через 1 - C++
В С++ я ноль, помогите пожалуйста написать прогу Написать программу, содержащую оператор оператор for для счета от 2 до 5 через 1 ...

Условный оператор, оператор ввода/вывода; плоскость и принадлежность точки - C++
Здравствуйте. В С++ я абсолютный новичок, поэтому с первым же заданием возникли определённые трудности. Будьте добры, помогите решить. Буду...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
S_el
2100 / 1611 / 308
Регистрация: 15.12.2013
Сообщений: 6,451
27.07.2015, 16:11 #2
foolspeed93, потому что 999+11 = 1010.
0
ture
441 / 334 / 126
Регистрация: 27.11.2014
Сообщений: 1,042
27.07.2015, 16:25 #3
Оператор "," имеет самый низкий приоритет, имеет левый и правый операнд, левый вычисляется первым, а возвращается результатом второй.
(j++, j+100, 999+j)
1) j++
2) j+100
3) 999+j

http://iproc.ru/programming/cpp-comma-operator/
0
castaway
Эксперт С++
4884 / 3020 / 370
Регистрация: 10.11.2010
Сообщений: 11,078
Записей в блоге: 10
Завершенные тесты: 1
27.07.2015, 16:35 #4
j+100 <--- тут значение j не изменяется.
0
IGPIGP
Комп_Оратор)
Эксперт по математике/физике
6472 / 3120 / 306
Регистрация: 04.12.2011
Сообщений: 8,594
Записей в блоге: 4
27.07.2015, 17:21 #5
Цитата Сообщение от castaway Посмотреть сообщение
тут значение j не изменяется
похоже, что там выводится i. То есть если бы i= (j++, 999+j, j+100);
то вывелось бы 111.
0
castaway
Эксперт С++
4884 / 3020 / 370
Регистрация: 10.11.2010
Сообщений: 11,078
Записей в блоге: 10
Завершенные тесты: 1
27.07.2015, 17:29 #6
Цитата Сообщение от IGPIGP Посмотреть сообщение
похоже, что там выводится i.
Всё верно, там выводится i. Я это и имел в виду.
C++
1
i = (j++, j+100, 999+j);
Данное выражение можно переписать так:
C++
1
2
3
j++;
j+100; // переменная j не меняется
i = 999+j;
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.07.2015, 17:29
Привет! Вот еще темы с ответами:

Длинно-плавающая запятая - C++
Я хочу числовой тип с плавающей запятой и очень большим sizeof, стандартного такого нет: , а я хочу на много больше. Например, 1024 байта....

Запятая в операторе scanf - C++
#include &lt;iostream&gt; using namespace std; int main() { setlocale(LC_ALL,&quot;RUS&quot;); int s, a, b, c, d, e, f; printf(&quot;введите...

Для шаблонного класса перегрузить оператор присваивания, copy-конструктор, объекты cin и cout, оператор * - C++
Помогите в следующем: Для класса шаблона следует перегрузить оператор присваивания, конструктор копирования, бинарный оператор суммы «*»,...

Для чего нужен оператор двоеточие, если два двоеточия - это оператор расширения области видимости - C++
для чего нужен оператор двоеточие ( : ), если два двоеточия( :: ) - это оператор расширения области видимости.


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

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

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