什么是“?” 在C / C ++中做什么?

运算符 '?' 被称为三元运算符,因为它需要三个操作数才能起作用。可以用“?”表示。:”。也称为条件运算符。运算符提高了性能并减少了代码行。

这是C语言中三元运算符的语法,

Expression1 ? Expression2 : Expression3

这是C语言三元运算符的示例,

示例

#include <stdio.h>

int main() {
   int a = -1;
   double b = 26.4231;
   int c = a? printf("True value : %lf",b):printf("False value : 0");
   return 0;
}

输出结果

这是输出

True value : 26.423100

Expression1将始终求值,而expression2和expression3取决于expression1的结果。如果expression1的结果为非零或负数,则将显示expression2,否则将显示expression3。

三元运算符具有返回类型。返回类型取决于expression2,还取决于expression3到expression2的可转换性。如果它们不可转换,则编译器将引发错误。

这是C语言中的三元运算符的另一个示例,

示例

#include <stdio.h>
int main() {
   int x = -1, y = 3;
   double b = x+y+0.5;
   int c = x<y? printf("True value : %lf",b):printf("False value : 0");
   return 0;
}

输出结果

这是输出

True value : 2.500000