可能重复:
什么'?' 用C++做什么?
xo = ((temp.npieces%2)==1)? 1 : 2;
Run Code Online (Sandbox Code Playgroud)
我无法弄清楚这意味着什么.
xo是一个整数(我想简单地确定naught和cross之间的差异)
temp是一个位置的实例,它存储关于naughts和crosses board的信息(naughts和crosses的板上的位置,游戏的状态(即它是否已被赢,输或未决),以及到目前为止放在板上的碎片
npieces存储到目前为止放置的件数
%2显然是将npieces的剩余部分除以2,以确定这是奇数还是偶数,从而确定naughts或crosses是否接下来
最后? 1 : 2这件事让我感到困惑,有点,我确定我之前已经看过这个或类似的东西,但我担心我不确定这是做什么的.我知道这可能是非常基本的东西,但我在大学的第一年(我现在已经是我的第二年)病得很重,并且错过了奇怪的片段,所以我的随机性,经常是尴尬,我的知识缺口.
(这是代码的分配我的工作质量的一部分-试图让几百行代码的意义上,这包括由于这是一个任务,我更乐意不被告知什么该行表示-实际上只是在解释资源的方向指出? 1 : 2,这样我就可以做出来为自己无论是在线资源,或在任何一本教科书可以在Safari联机丛书较大的章节都将是非常有益的,或者,当然,这里有一个非常简短的解释.)
谢谢.
我对非特定问题的标题表示道歉,不知道陌生代码的作用或称之为什么,我想不出更好的方式来表达它.
小智 7
xo = ((temp.npieces%2)==1)? 1 : 2;
Run Code Online (Sandbox Code Playgroud)
如果temp.npieces是偶数(因此除数余数为0)xo现在等于2,则xo现在等于1;
编辑:它不检查它是否为奇数,它检查余数是否为正1.
X ? A : B
Run Code Online (Sandbox Code Playgroud)
是另一种写作方式
if(X)
{
A
}else
{
B
}
Run Code Online (Sandbox Code Playgroud)
编辑2:
条件运算符的目的不是更快,更简单.条件运算符返回一个值.if才不是.这是主要的区别.Therefore x ? A : B isn't exactly the same as if( x ) { A; } else { B; }
Credit @ John Dibling
in C如果它不等于0,那么它就是真的.(即使它是-145)
| 归档时间: |
|
| 查看次数: |
340 次 |
| 最近记录: |