Como gerar NaN, -Infinity e + Infinity em ANSI C?

Eu uso ANSI C89 (não C ++) e quero gerar NaN, -Infinity e + Infinit

Existe alguma maneira padrão (por exemplo, macro padrão)? Ou existe alguma maneira independente de plataforma e compilador para gerar esses números?

float f = 0.0 / 0.0; // Is f ALWAYS in any platform is NaN?

questionAnswers(3)

yourAnswerToTheQuestion