Почему компилятор 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]

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