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