Re: array pointer ( вопрос чайника)
От: LaptevVV Россия  
Дата: 02.01.10 20:32
Оценка:
Здравствуйте, 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?

Потому что это — постфиксный инкремент. В этом случае сначала выполняется присваивание, а потом увеличение значения. В н попадает неувеличенное значение.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.