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

更新于: 2020-06-25

1K+ 浏览

推动你的 职业

完成本课程以取得认证

开始
广告