Есть ли способ проверить тип переменной по препроцессору?
На самом деле я хочу сделать что-то вроде этого:
//test.c
int main(void)
{
TYPE a=6;
#if TYPE==int
printf("%d\n",a);
#elif TYPE==float
printf("%f\n",a);
#endif
}
Теперь я использую это как:
gcc -o test -D TYPE=float test.c
Но это не работает. TYPE всегда совпадает с int и дает результат в соответствии с% d.
Пожалуйста, помогите мне решить эту проблему.