c - 如何使用 NaN 处理无效数据的可能性

我正在读一本

关于 IEEE 标准的书。我在 p43(58) 中反驳了这部分:

更一般地说,NaN 为程序员提供了一种非常方便的方式来处理在许多情况下可能出现的无效数据或其他错误。假设我们希望编写一个程序来计算一个没有为某些输入值定义的函数。如果输入无效或在函数计算期间发生某些其他错误,通过将函数的输出设置为 NaN,可以避免返回特殊错误消息或代码的需要。

我试过了,return NAN但这似乎不对。更一般地说,我想知道如何NAN在代码中实际使用。那里没有太多关于这个主题的信息。

更新:

为了澄清事情,我必须问这个:

如何定义某些函数sqrt,例如某些输入sqrt(-1)未定义的函数NAN?我不明白这是如何发生的,因为将 NAN打印件nan作为输出返回。

正如书中在同一页中所说:

平方根运算提供了使用 NaN 的一个很好的例子。在 IEEE 标准之前,尝试取负数的平方根可能只会导致打印错误消息并返回肯定的结果。用户可能不会注意到有任何问题。在 IEEE 标准的规则下,如果参数为负,则平方根运算无效,标准响应是返回一个 NaN