Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.11.2008, 14:09   #1
Manya
Пользователь
 
Регистрация: 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?
Объясните, пожалуйста!
Manya вне форума Ответить с цитированием
Старый 20.11.2008, 14:21   #2
StarWorm
Форумчанин
 
Регистрация: 17.11.2008
Сообщений: 233
По умолчанию

Ну сейчас попробуем...
1) *ptrin - разыменовывается указатель на массив
2) если он существует (в частности не равен нулю), то вернется 1, иначе вернется 0
3) это число 1 или 0 прибавляется к числу, записанному по адресу ptrsum
4) ptrsum сдвигается на одну позицию...
P.S. мне кажется что что-то типо этого...
StarWorm вне форума Ответить с цитированием
Старый 20.11.2008, 16:02   #3
Manya
Пользователь
 
Регистрация: 22.10.2008
Сообщений: 13
По умолчанию

Похоже на правду, спасибо! А то я совсем запуталась.
Manya вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
объясните, пожалуйста brainstorm Помощь студентам 10 14.10.2008 23:49
Объясните пожалуйста TheHerd Паскаль, Turbo Pascal, PascalABC.NET 12 04.04.2008 21:33