退货还是运营商?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了退货还是运营商?相关的知识,希望对你有一定的参考价值。

我刚看到类似的东西:

return (m(s1 + 1, s2) || m(s1 + 1, s2 + 1));

||return声明中的含义是什么?在这里,m是一个功能; s1s2是字符串。

答案

线return (m(s1 + 1, s2) || m(s1 + 1, s2 + 1));可以用这种形式重写:

if ( m(s1 + 1, s2) )
{ 
    /* if left part not null, return 1, without 
       evaluationg the right part */
    return 1;
}
else if ( m(s1 + 1, s2 + 1) )
{  
    /* if left was 0, test right part */
    return 1;
}
else
{ 
    /* if both are null, return 0*/
    return 0;
}
另一答案

||语句中使用return运算符没有什么特别之处。声明如下:

return <expression>;

相当于:

temp = <expression>;
return temp;

(其中temp与函数的返回类型具有相同的类型)。

所以你的陈述相当于:

int temp = (m(s1 + 1, s2) || m(s1 + 1, s2 + 1));
return temp;
另一答案

||是一个短路,或者意味着表达式将作为结果停止在第一个真值处执行。它具有与此代码相同的效果,但如果你知道||的含义,它会更短更容易阅读:

if (m(s1 + 1, s2)) {
  return 1;
}
if(m(s1 + 1, s2 + 1)) {
  return 1;
}
return 0;

如果m在屏幕上打印某些内容,则只有在第一次调用返回真值时才打印一次。你也有&&做类似的事情但停在第一个假值。 return (m(s1 + 1, s2) && m(s1 + 1, s2 + 1));与以下相同:

if (!m(s1 + 1, s2)) {
  return 0;
}
if (!m(s1 + 1, s2 + 1)) {
  return 0;
}
return 1;

使用运算符的明显原因是您需要更少的样板。

以上是关于退货还是运营商?的主要内容,如果未能解决你的问题,请参考以下文章

解决表单重复提交问题

银联支付接口之退货

APP - 京东退货上门取件自动变成自己邮寄?

我可以使用 messageEmbed 退货吗?

贝宝退货网址

需要退货声明吗? - 编码新手