Может кто-нибудь объяснить, почему в этой простой программе компилятор сначала присваивает значение (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]