Здравствуйте, i.dmitry, Вы писали:
ID>прошу помощи в понимании:
ID>ID>int main ()
ID>{
ID> y = (*px)++;
ID> printf ("(y = (*px)++), y = %x\n", y);
ID> y = ++(*px);
ID> printf ("(y = ++(*px)), y = %x\n", y);
ID> cin.get();
ID> return 0;
ID>}
ID>
ID>правильно ли я понимаю, что происходит в строчке: y = (*px)++
ID>1) извлекаем значение на которое указывает px. *px = 4
ID>2) далее к 4 прибавляем 1, получаем 5. т.е. y = 5.
ID>Вопрос: почему принт эфом выводится значение 4?
Потому что это — постфиксный инкремент. В этом случае сначала выполняется присваивание, а потом увеличение значения. В н попадает неувеличенное значение.