首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >不熟悉的基本C++代码

不熟悉的基本C++代码
EN

Stack Overflow用户
提问于 2010-12-03 14:24:52
回答 7查看 374关注 0票数 0

可能重复: 什么是“?”在C++做什么?

代码语言:javascript
复制
xo = ((temp.npieces%2)==1)? 1 : 2;

我不知道这意味着什么。

xo是一个整数(我认为仅仅是确定零和交叉之间的区别)。

临时位置是一个位置的例子,它存储关于一个零和十字板的信息(在零和十字板上的位置,游戏的状态(即它是赢了,输了,还是还没有决定),以及到目前为止放置在棋盘上的棋子数。

收藏到目前为止放置的件数。

%2显然是确定剩下的部分除以2,以确定这是奇数还是偶数,从而确定下一个是零还是叉。

它的结尾让我感到困惑,? 1 : 2比特,我肯定我以前见过这个或类似的东西,但是我恐怕我不知道这是做什么的。我知道这可能是非常基本的东西,但我在大学的第一年(我现在已经是第二年了)病得很厉害,并且遗漏了一些奇怪的片段,所以我的知识有一些令人恼火的随机的,经常是令人讨厌的空白。

(这是我正在做的一项任务的大量代码的一部分-试图理解几百行代码,包括。由于这是一项任务,我非常高兴没有被告知这一行的确切含义--实际上,我只是被指向一个解释? 1 : 2的资源的方向,这样我就可以自己解决了。无论是在线资源,还是Safari联机丛书中任何教科书中更大的章节,都会非常有用,或者,当然,在这里作一个非常简短的解释。

谢谢。

我对非特定问题标题表示歉意,因为我不知道不熟悉的代码是做什么或被调用的,所以我想不出更好的方法来表达它。

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2010-12-03 14:26:49

代码语言:javascript
复制
xo = ((temp.npieces%2)==1)? 1 : 2;

如果temp.npieces是偶数(因此除数为0),xo现在等于2,其他明智的xo现在等于1;

编辑:它不检查是否为Odd,它检查剩余的是否为正1。

代码语言:javascript
复制
X ? A : B 

是另一种写作方式

代码语言:javascript
复制
if(X)
{
    A
}else
{
    B
}

Edit2:

条件运算符的目的不是为了更快,也不是更考虑。条件运算符返回一个值。if没有。这就是主要的区别。Therefore x ? A : B isn't exactly the same as if( x ) { A; } else { B; }

Credit @JohnDibling

在C中,如果不等于0,则某事是真的。(即使是-145)

票数 7
EN

Stack Overflow用户

发布于 2010-12-03 14:28:35

代码语言:javascript
复制
bool ? 1 : 2

叫做三元算子。如果bool为真,则返回1,否则返回2

票数 5
EN

Stack Overflow用户

发布于 2010-12-03 14:28:06

三元算子

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4346450

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档