如何编写条件运算符(?:)而不使用else

时间:2016-04-09 20:02:26

标签: c

用C编程时,我使用条件运算符(?:)。但我不想使用其他部分。

if(x!=1){printf("Hello");}

如何使用条件运算符编写?

3 个答案:

答案 0 :(得分:2)

如果条件不满足,则三元运算符?:需要表达式,您可以始终在其中放置一个“虚拟”值,例如值0,如下例所示:

x != 1 ? printf("Hello") : 0;

在这样的情况下,“if”语句可能是更好的方法。

答案 1 :(得分:1)

这是一个不同的运算符&&,它允许您省略else部分:

#include <stdio.h>

int main () {
    int x = 1;

    x != 1 && printf ("Hello\n");
    return 0;
}

尝试运行该程序,然后将x更改为2并再次运行。

答案 2 :(得分:0)

虽然它们在函数中看起来相似,但条件运算符与条件语句(IF语句)不同。

条件运算符的主要用途是根据条件更改赋给变量的值。

鉴于以下(可怕)的例子......

if(raining==true)
{
    take="umbrella";
}
else if(raining==false)
{
    take="sunglasses";
}

可以简单地重写为:

take=(raining ? "umbrella" : "sunglasses");

这是条件运算符的主要目的。但是,正如Oliver Charlesworth在评论中所说的那样,它不是用于控制流程。

因此,作为一般规则,如果您发现自己处于一个没有其他条件运算符的地方,您错误地使用了条件运算符。