
上QQ阅读APP看书,第一时间看更新
4.4 三元或条件运算符
三元运算符类似于if
语句,但它是一个返回所选分支值的表达式:

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

在这个函数中,只调用sqrt
一次,调用的参数从不为负。因此,sqrt_real
总是表现良好,没有错误的值被传递给sqrt
。
复杂的算术及其使用的工具需要头文件complex.h,tgmath.h
间接包含它。稍后将在5.7.7节中介绍它们。
在前面的示例中,我们还看到了使用预处理程序指令C实现的条件编译。只有在定义了宏__STDC_NO_COMPLEX__
的情况下,#ifdef
结构才能确保我们达到#error
条件。