我是初学者,我现在正在阅读TicTacToe游戏的经典例子。 我不确定返回语句的作用:
{.....
return (ch == X) ?O :X;
这必须是关于变量ch的一些条件语句(在我的情况下代表玩家(X或O)但我不确定它的含义。任何人都可以告诉我它是做什么的?
答案 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));
}