Почему компилятор C++ не отдает приоритет (оператор приращения при присваивании) в этой простой программе?C++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Anonymous
 Почему компилятор C++ не отдает приоритет (оператор приращения при присваивании) в этой простой программе?

Сообщение Anonymous »

Согласно таблице старшинства операторов языка C/C++ (см. Википедию), оператор приращения (++) имеет приоритет по отношению к оператору присваивания (=).

Может кто-нибудь объяснить, почему в этой простой программе компилятор сначала присваивает значение (1 в bill[x]), а затем увеличивает значение индекса (i++). Я считаю, что должно быть наоборот (сначала увеличить, а потом присвоить):

Код: Выделить всё

#include 
using namespace std;

int bill[] = {16, 17, 18, 19, 20};

int main ()
{
int i = 3;

bill[(i++)] = 1; // I think it should be bill[4] = 1;

cout 

Подробнее здесь: [url]https://stackoverflow.com/questions/8380960/why-the-c-compiler-does-not-give-precedence-increment-operator-under-assignme[/url]
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C++»