MSDN中的return语句

时间:2011-12-02 09:21:18

标签: c msdn return

今天,当我阅读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.为什么Microsoft使用return();这只是一个错误?还是其他原因?

2.返回什么;在绘制函数中意味着什么?我认为没有必要,为什么它在函数中存在?

3 个答案:

答案 0 :(得分:4)

  • 1是的,我认为这是一个错误。
  • 2在void返回方法中,省略return语句相当于将return作为方法的最后一行。

答案 1 :(得分:2)

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

对于你认为正确的第二个问题。不需要return,也不可能回答作者为什么把它放在那里。

答案 2 :(得分:2)

我同意其他海报,即使在这种情况下不需要在draw函数中返回,因为在函数末尾有一个隐式返回语句,它是允许的,实际上可能用于退出早期的函数,以避免函数中的其他代码,例如

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