Имя пользователя:
Пароль:
 

Название темы: Сумма трех байт
Показать сообщение отдельно

Старожил


Сообщения: 167
Благодарности: 0

Профиль | Отправить PM | Цитировать


bilytur
Кофе попей, протри глаза, и внимательно посмотри, ЧТО ты складываешь:
В первом случае ты складываешь, то что надо - buf[0]+buf[1]+buf[2]    (p=buf)
Во втором случае buf[-1]+buf[0]+buf[1]     (p=buf-1   )
Так как buf[-1] имеет неопределённое значение, у тебя получаются разные результаты.

Добавлено:

bilytur
Советую также обратить внимание (во избежание другого глюка) на то, что у тебя результат будет CHAR, а не INT, как ты хотел (если ты именно так хотел), возникнет переполнение. Чтобы этого избежать, надо написать int Sum1 = int(*(p++)) + *(p++) + *(p++);

Отправлено: 04:20, 25-09-2003 | #2

Название темы: Сумма трех байт