Отправлено
Quasy 03 апреля 2007 г. 14:50
В ответ на: -это какия? отправлено
<font color=gray>PrivatePurpose</font> 03 апреля 2007 г. 14:34
#define CUBE(x) ((x)*(x)*(x)) ... int b =0, a = 3; b = cube(a++); /* cube() передается фактический аргумент = 3; поэтому b = 27, и теперь a = 4 */ a = 3; b = CUBE(a++); /* расширяется в: ((a++)*(a++)*(a++)); и теперь a = 6 */ Итоговое значение b зависит от того, что компилятор делает с расширенным выражением.