|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
20.11.2008, 14:09 | #1 |
Пользователь
Регистрация: 22.10.2008
Сообщений: 13
|
Объясните строчку, пожалуйста
Пытаюсь разобрать чужую программу. Наткнулась на строку:
*(ptrsum++) += ( (*ptrin)? 1 : 0 ); здесь ptrin - массив со значениями 0 или 255, ptrsum - просто указатель на массив чисел. Каков порядок выполнения операций? если (*ptrin) не 0, то к *(ptrsum) прибавляется 1, иначе к *(ptrsum) прибавляется 0. а потом ptrsum смещается на 1, или же: если (*ptrin) не 0, то ptrsum смещается на 1 и к *(ptrsum) прибавляется 1, иначе ptrsum смещается на 1 и к *(ptrsum) прибавляется 0, или же ptrsum вообще не смещается, а просто 1 или 0 прибавляются к следующему значению ptrsum? Объясните, пожалуйста! |
20.11.2008, 14:21 | #2 |
Форумчанин
Регистрация: 17.11.2008
Сообщений: 233
|
Ну сейчас попробуем...
1) *ptrin - разыменовывается указатель на массив 2) если он существует (в частности не равен нулю), то вернется 1, иначе вернется 0 3) это число 1 или 0 прибавляется к числу, записанному по адресу ptrsum 4) ptrsum сдвигается на одну позицию... P.S. мне кажется что что-то типо этого... |
20.11.2008, 16:02 | #3 |
Пользователь
Регистрация: 22.10.2008
Сообщений: 13
|
Похоже на правду, спасибо! А то я совсем запуталась.
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
объясните, пожалуйста | brainstorm | Помощь студентам | 10 | 14.10.2008 23:49 |
Объясните пожалуйста | TheHerd | Паскаль, Turbo Pascal, PascalABC.NET | 12 | 04.04.2008 21:33 |