今天来学习c语言中的条件操作符,逻辑操作符,短路操作等。
这是一种三目操作符,可以在左侧加入1个表达式作为判断条件,中,右加入两种执行步骤。
可以写为:
exp1 ? exp2 : exp3
直接举例说明:
int main()
{
int a = 0;
int b = 0;
scanf("%d %d", &a, &b);
int m = (a > b ? a : b);
printf("m = %d", m);
return 0;
}
以上代码定义了a,b两个变量的初始值。随后用户手动输入a,b的值。
由条件操作符来判断a是否大于b,如果大于则输出a,小于则输出b。实现了找出两个数中最大值的功能。
条件操作符可以写为:
exp1 ? exp2 : exp3
其中,exp1就等于判断条件,一般是表达式。表达式成立(为真)则执行exp2(本例子中则将a定义给m),反之执行exp3(将b定义给m)。最终将两个数中较大的一个定义给m,输出m。
如果这里不使用条件操作符呢?
int main()
{
int a = 0;
int b = 0;
scanf("%d", &a);
以下为第一种写法(常规写法)
if (a > 5)
b = 5;
else
b = -5;
以下 第二种写法(使用了条件操作符,也就是三目操作符)
可以用一行代码实现以上的效果
b = (a > 5 ? 3 : -3);
return 0;
}
效率就比较低了。