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

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

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

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

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

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

Оператор запятая - 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++
Добрый день, было дано задание перевести программу с Делфи(среда Лазарус) на С++. До этого с Си языками вообще не встречался. После...

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

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

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
S_el
2092 / 1599 / 306
Регистрация: 15.12.2013
Сообщений: 6,427
27.07.2015, 16:11     Оператор запятая #2
foolspeed93, потому что 999+11 = 1010.
ture
438 / 331 / 123
Регистрация: 27.11.2014
Сообщений: 1,038
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/
castaway
Эксперт С++
4881 / 3017 / 370
Регистрация: 10.11.2010
Сообщений: 11,076
Записей в блоге: 10
Завершенные тесты: 1
27.07.2015, 16:35     Оператор запятая #4
j+100 <--- тут значение j не изменяется.
IGPIGP
Комп_Оратор)
Эксперт по математике/физике
6444 / 3083 / 306
Регистрация: 04.12.2011
Сообщений: 8,495
Записей в блоге: 4
27.07.2015, 17:21     Оператор запятая #5
Цитата Сообщение от castaway Посмотреть сообщение
тут значение j не изменяется
похоже, что там выводится i. То есть если бы i= (j++, 999+j, j+100);
то вывелось бы 111.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.07.2015, 17:29     Оператор запятая
Еще ссылки по теме:

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

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

знак для Float (точка и запятая) проблема - C++
в одной проге atof() и fprintf(%f, float_arg) используют точку, в другой запятую =\ обе проги компилю я, а надо чтоб они выбрали что-то...

Вывести на экран слова перед которыми стоят запятая и пробел. - C++
Вывести на экран слова перед которыми стоят запятая и пробел. Не могу понять как ее реализовать чайниг в этом деле) Добавлено через 6...

Найти позицию (номер символа), в которой находится первая запятая - C++
Обработка строк. Задание 7.1. Составить программу, которая вводит строку символов, выполняет ее обработку, в соответствии с...

Нюансы использования оператора запятая или что такое UB и с чем его едят - C++
Почему студия и ideone выдают разные значения для a и b? в студии выходит a = 10 , b = 10 в ideone a = 20, b =10 #include...


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

Или воспользуйтесь поиском по форуму:
castaway
Эксперт С++
4881 / 3017 / 370
Регистрация: 10.11.2010
Сообщений: 11,076
Записей в блоге: 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;
Yandex
Объявления
27.07.2015, 17:29     Оператор запятая
Ответ Создать тему
Опции темы

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