📅  最后修改于: 2020-10-22 00:50:59             🧑  作者: Mango
条件运算符也称为三元运算符。条件语句是决策表达式,它取决于表达式的输出。它由两个符号表示,即“?”和’:’。
由于条件运算符作用于三个操作数,因此也称为三元运算符。
条件运算符的行为类似于“ if-else”语句,因为“ if-else”语句也是决策语句。
Expression1? expression2: expression3;
上述语法的图形表示如下所示:
以上语法的含义。
让我们通过一个例子来理解三元或条件运算符。
#include
int main()
{
int age; // variable declaration
printf("Enter your age");
scanf("%d",&age); // taking user input for age variable
(age>=18)? (printf("eligible for voting")) : (printf("not eligible for voting")); // conditional operator
return 0;
}
在上面的代码中,我们将输入作为用户的“年龄”。输入后,我们通过使用条件运算符来应用条件。在这种情况下,我们正在检查用户的年龄。如果用户的年龄大于或等于18,则执行statement1,即(printf(“有资格参加投票”)),否则,执行statement2,即(printf(“不具备参加投票的资格”) )。
让我们观察以上程序的输出。
如果我们提供18岁以下的用户年龄,则输出为:
如果我们提供18岁以上的用户年龄,则输出将是:
从上面的两个输出可以看出,如果条件为true,则执行statement1;否则,将执行statement2。
到目前为止,我们已经观察到条件运算符如何检查条件,并根据条件执行语句。现在,我们将看到如何使用条件运算符将值分配给变量。
让我们通过一个例子来了解这种情况。
#include
int main()
{
int a=5,b; // variable declaration
b=((a==5)?(3):(2)); // conditional operator
printf("The value of 'b' variable is : %d",b);
return 0;
}
在上面的代码中,我们声明了两个变量,即“ a”和“ b”,并为“ a”变量分配了5个值。声明之后,我们使用条件运算符将值赋给’b’变量。如果’a’的值等于5,则为’b’赋值为3,否则为2。
输出量
上面的输出显示’b’变量的值为3,因为’a’变量的值等于5。
我们知道条件运算符和’if-else’的行为相似,但有一些区别。让我们看看它们之间的差异。