4.4 三元或条件运算符

三元运算符类似于if语句,但它是一个返回所选分支值的表达式:

052-04

与运算符&&||类似,第二个和第三个操作数仅在真正需要时才计算。tgmath.h中的宏sqrt计算非负值的平方根。用负值调用它会引起域错误C

052-05

在这个函数中,只调用sqrt一次,调用的参数从不为负。因此,sqrt_real总是表现良好,没有错误的值被传递给sqrt

复杂的算术及其使用的工具需要头文件complex.h,tgmath.h间接包含它。稍后将在5.7.7节中介绍它们。

在前面的示例中,我们还看到了使用预处理程序指令C实现的条件编译。只有在定义了宏__STDC_NO_COMPLEX__的情况下,#ifdef结构才能确保我们达到#error条件。