Цитата(ViKo @ Mar 21 2012, 15:15)

Есть ли возможность в C сделать что-то подобное:
Код
#define TEST(A,B,MULT) \
A = B<<(#if (#MULT == "ONE") 1 \
#elif (#MULT == "TWO") 2);
Можно.
Через составные макросы и конкатенацию ##
Код
#define TEST(A,B,MULT) TEST##MULT(A,B)
#define TESTONE(A,B)
#define TESTTWO(A,B)
Программирование делится на системное и бессистемное. ©Моё :)
— а для кого-то БГ — это Bill Gilbert =)