有条件的退货声明?并且:

时间:2013-09-19 10:00:22

标签: c return

我是初学者,我现在正在阅读TicTacToe游戏的经典例子。 我不确定返回语句的作用:

  {.....
     return (ch == X) ?O :X;

这必须是关于变量ch的一些条件语句(在我的情况下代表玩家(X或O)但我不确定它的含义。任何人都可以告诉我它是做什么的?

4 个答案:

答案 0 :(得分:6)

这意味着

if (ch == X) 
    return O;
else
    return X;

答案 1 :(得分:5)

这被称为三元运算符,因为与许多其他运算符不同,它不需要一个或两个操作数,而是三个。布尔条件和两个值。在您的示例中,如果布尔条件(ch == X)验证为true,则O是运算符的结果。否则,X就是结果。

这可以改写为:

if (ch == X)
    return O;
else
    return X;

答案 2 :(得分:1)

如果ch等于X,则返回O,否则返回X

答案 3 :(得分:0)

... ? ... : ...运算符称为三元运算符。它是简单if语句的简写。让我们看几个例子,

<强>奇/偶

n % 2 ? printf ("Odd") : printf ("Even");

OR

printf ("%s\n", n % 2 ? "Odd" : "Even");

<强>阶乘

int factorial(int n)
{
    return (n == 0 ? 1 : n * factorial (n - 1));
}