Развлечения на Си
FallenGamer своим постом вызвал у меня острый приступ ностальгии:
int i = 10; while (i --> 0) // "оператор -->" foo();
Хотя его пост был про C#, но такая штука сработает практически во всех C-подобных языках. Я сразу вспомнил еще пару подобных забавных конструкций. Например, интересное определение макросов TRUE и FALSE:
#define TRUE ('/'/'/') #define FALSE ('-'-'-')
или «оператор приведения к bool»:
int a = 0, b = 123; a = !!a; // 0 b = !!b; // 1
А еще вот — логический XOR:
!a != !b
Очень вас прошу, не пользуйтесь в своем коде чем-либо подобным… Я уж и не говорю про примеры из книги «Алгоритмические трюки для программистов».

