【问题标题】:What is the meaning of "return ret < 0"? [closed]“return ret < 0”是什么意思? [关闭]
【发布时间】:2014-01-07 16:34:08
【问题描述】:

函数可以返回一个数字、指针和大部分你想要的类型,但它的含义是什么?

return ret < 0;

(这段代码sn-p来自代码的最后一行,ffprobe.c。)

【问题讨论】:

  • 其中哪一部分你不明白?你知道 C 中的“return”关键字吗?你知道比较运算符&lt;吗?您是否将ret 识别为之前声明的变量?把它们放在一起......

标签: c return-value ffprobe


【解决方案1】:

它将返回10,具体取决于ret &lt; 0truefalse 的条件。

你可以这样理解

if(ret < 0)
    return 1;
else  
    return 0;

【讨论】:

  • Aww 编辑了我所说的一半。至少对操作来说更清楚了。
  • 在你回答之前,我已经编辑了我的答案,但由于我的互联网连接速度慢,我迟到了(下载游戏 Injustice :D)
  • 只是一个友好的笑话。很高兴很清楚。那种传统的 C 编码风格对于那些可能看起来更明确的编码风格(在正常的人类阅读术语中)的人来说是令人困惑的,而传统的 C 学究的人会说它是明确的,因为他们习惯于阅读困难的代码按评估顺序。
  • 换句话说,你可以说:它是C之美 :)
【解决方案2】:

它返回条件操作的值。 ret &lt; 0 这是你经常看到的 C 简写。 C 程序员是出了名的迂腐,不会编写对学习者来说显而易见的代码。 它相当于为凡人明确写的内容

如果 ( ret

【讨论】:

    【解决方案3】:

    return 语句可以有表达式。 当函数使用 return 语句返回时,它首先计算表达式。

           return (expression);
    

    expression 可以是 C 中的任何有效表达式。评估后它返回表达式输出的任何值(假设返回类型匹配或编译器将通过错误) 在您的情况下,声明将类似于

          return (ret < 0);
    

    根据 ret 的值,返回 1(如果 ret 小于 0)或 0(如果 ret 大于 0)

    【讨论】:

      猜你喜欢
      • 2022-01-23
      • 2013-12-29
      • 1970-01-01
      • 2014-03-08
      • 1970-01-01
      • 1970-01-01
      • 2017-03-02
      • 2022-01-09
      相关资源
      最近更新 更多