MSDN 中的返回语句

发布于 2024-12-19 07:38:17 字数 544 浏览 1 评论 0原文

今天在看MSDN的时候,遇到了下面的代码:

void draw( int I, long L );
long sq( int s );
int main()
{
long y;
int x;

y = sq( x );
draw( x, y );
return();
}

long sq( int s )
{
return( s * s );
}

void draw( int I, long L )
{
/* Statements defining the draw function here */
return;
}

当然,这不起作用,所以我改变了

返回();

在主要功能中

返回0;

它的工作需要谨慎。 我对这段代码有两个问题:

1.为什么微软使用return();这只是一个错误?还是其他原因?

2.返回什么;在draw函数中是什么意思?我认为没有必要,为什么它存在于函数中?

Today,when I was reading the MSDN,I encountered the following codes:

void draw( int I, long L );
long sq( int s );
int main()
{
long y;
int x;

y = sq( x );
draw( x, y );
return();
}

long sq( int s )
{
return( s * s );
}

void draw( int I, long L )
{
/* Statements defining the draw function here */
return;
}

Of course,it didn't work,so I change the

return();

in main function to

return 0;

It works with a caution .
I have two problems about this code:

1.Why does Microsoft use return ();Is this just a mistake?Or other reasons?

2.what does return; in the draw function mean?I think it is not necessary,why does it exsit in the function?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

雨夜星沙 2024-12-26 07:38:17
  • 1 是的,我相信这是一个错误。
  • 2 在 void 返回方法中,省略 return 语句相当于将 return 作为方法的最后一行。
  • 1 Yes, I believe it's a mistake.
  • 2 In a void returning method, omitting the return statement is equivalent to having a return as the last line of the method.
心如荒岛 2024-12-26 07:38:17

我同意其他海报,即使在这种情况下绘制函数中的返回不是必需的,因为函数末尾有一个隐式返回语句,但它是允许的,并且确实可以用于提前退出函数这样就可以避免函数中的更多代码,例如

void DoSomeWork(bool someCondition)
{
  if(somecondition == true)
  {
    return;
  }
// run lots of code 
}

I agree with the other posters, also even though the return in the draw function isn't necessary in this case, as there's an implicit return statement at the end of the function, it is allowable and indeed may be used to exit a function early so that further code in a function is avoided e.g.

void DoSomeWork(bool someCondition)
{
  if(somecondition == true)
  {
    return;
  }
// run lots of code 
}
仙气飘飘 2024-12-26 07:38:17

显然我不能说出代码作者的意思,但对于第一个问题,我认为这是一个错误,作者的意思是写 return(0);

对于第二个问题,你认为是对的。 return 是不需要的,而且同样无法回答作者为什么把它放在那里。

Obviously I can't say what the author of the code meant, but for the first question I would think it's a mistake and that the author meant to write return(0);.

For the second question you think right. The return is not needed, and again it's impossible to answer why the author put it there.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文