首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >用括号将C语言中的返回值括起来

用括号将C语言中的返回值括起来
EN

Stack Overflow用户
提问于 2008-10-02 11:52:25
回答 8查看 28.9K关注 0票数 82

在ANSI代码中,我经常可以看到圆括号对单个返回值进行排序。

就像这样:

代码语言:javascript
复制
int foo(int x) {
  if (x)
    return (-1);
  else
    return (0);
}

在这些情况下,为什么要在返回值周围使用()呢?有什么想法吗?我看不出有什么理由这样做。

EN

回答 8

Stack Overflow用户

回答已采纳

发布于 2008-10-02 11:56:38

这真的没有什么原因...这只是一个古老的惯例。

为了节省空间,程序员通常会在返回行而不是它自己的行中执行最后的数学运算,并且确保存在的括号主要是为了更容易地看到它是一个返回的语句,如下所示:

代码语言:javascript
复制
return (x+i*2);

而不是

代码语言:javascript
复制
int y = x+i*2;
return y;

插入语成了一种习惯,而且它坚持了下来。

票数 60
EN

Stack Overflow用户

发布于 2008-10-02 19:26:02

一个实际但不太可能的动机是,如果您将值放在括号中,您可以将return定义为宏,然后插入一些日志记录代码来查看所有的返回。

票数 55
EN

Stack Overflow用户

发布于 2008-10-02 12:24:06

我个人的风格是,如果有一个复杂的表达式,就使用括号;例如,

代码语言:javascript
复制
return (a + b);

但如果表达式是一个简单的术语,则不使用它们

代码语言:javascript
复制
return a;

我说不出我为什么那样做;只是我很久以前学到的东西。

顺便说一句,我认为让它看起来像一个函数调用,就像这样:

代码语言:javascript
复制
return(a);  // ugh

是令人难以置信的丑陋和错误的。

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

https://stackoverflow.com/questions/161879

复制
相关文章

相似问题

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