C ++中的条件运算符

用户名

我对以下代码感到困惑,并试图理解它们的含义。

 if( (root->left == NULL) || (root->right == NULL) )
 {
    Node *temp = root->left ? root->left : root->right;
 }

这意味着if root->left ==NULL然后temp = root->leftelse temp = root->right

拉基卜

你说的不对,但是你明白了。这是一个条件运算符,它接受三个操作数

 var = condition ? expression1 : expression2

相当于

if( condition )
  var = expression1
else
  var = expression2

在您的情况下,这意味着

如果root-> left!= NULL,则temp = root-> left,否则temp = root-> right

代替

如果root-> left == NULL,则temp = root-> left,否则temp = root-> right

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章