Реализация cond на операторе ?:
Если кто будет спрашивать, cond — это из мира Лиспа.
Подобную же конструкцию можно сделать и в C:
var = (cond1 ? expression1 : cond2 ? expression2 : /* ... */ else-expression);
Переменной var присваивается значение выражения expression1, если истинно значение выражения cond1, присваивается значение expression2, если истинно значение cond2, и т.д. Если ни один condX не истинен, присваивается значение else-expression.
По-моему, красиво. Для пущего сходства с Лиспом можно добавить скобочек.


