Старожил
Сообщения: 240
Благодарности: 1
|
Профиль
|
Отправить PM
| Цитировать
Sarge
Чё-то у тебя со знанием языка не того... Про постфиксные и префиксные операции слышал чего-нибудь? Сумма char-ов - действительно имеет тип char, н6о это если в арифметическом выражении не присутствуют операнды других типов, тогда будет сделано приведение типов. А здесь приведение производится при присваивании. Вопрос был почему написанное не даёт правильный результат?
bilytur
Трудно так сразу сказать. Я бы скомпилировал в ассемблер, и посмотрел, чё там VC имеет ввиду, обрабатывая этот текст. Там можно будет понять, когда он указатели продвигает, и на что они в тот момент указывают.
Добавлено:
А вообще C/C++ не любит таких наворотов. Он проводит оптимизацию при компиляции, а поскольку в выражении все операции равноправны, он может вычислять их в любом порядке, а не слева направо. И, казалось бы, да складывай их в любом порядке, они же одинаковые (операнды, я имею ввиду), но там ещё указатель перемещается, а это он как-то не очень любит. Так что, скомпили в ассемблер...
|
-------
UNIX, UNAS и др. Myself I'll like 'em
Отправлено: 06:44, 25-09-2003
| #3
|