K&R 第二版(第 71 页)——我一定错过了解释:
sign = (s[i] == '-') ? -1 : 1;
this 的上下文是将字符串转换为双精度的函数。这部分特别是在函数跳过空格之后。我推断它正在检查正值或负值,并将其保存为 -1 或 +1 以在函数末尾进行符号转换......return sign * val /power;
我想做的比推断更好……我特别不确定?and: 1在这里(或任何地方,就此而言)在做什么。
这似乎是一个抽象的if陈述。在哪里?检查真相,:是else……是这样吗?是否仅限于if/else?
我是一个初学者,我以前没有遇到过这种表达式语法,所以我想知道是否有一个特殊的原因它似乎经常被正式的if/else- 除了可读性之外?