/* 1 if 'type' is a floating type, 0 if 'type' is an integer type. Allows for _Bool. Expands to an integer constant expression. */ #define __floating_type(type) (((type) 0.25) && ((type) 0.25 - 1))
以下を考えれば簡単
(int)0.25 == 0
(_Bool)0.25 == 1
(float)0.25 == 0.25f
(double)0.25 == 0.25