История изменений
Исправление IvanRia, (текущая версия) :
#define SET_A(a,b,c) do{\
if(0){((void()(char, char, char))NULL)(a,b,c);} \
(a?(*a=c):(b=c)); \
}while(0)
можно.
Исходная версия IvanRia, :
#define SET_A(a,b,c) do{\
if(0){((void()(char, char, char))NULL)(a,b,c);} \
(a?(*a=c):(b=c)); \
}while(0)
хороший код от плохого отличается читаемостью, ваш явно плохой, хоть и рабочий