关于void无返回值的问题

#include <stdio.h>
#include <stdlib.h>

int main()
{
void a(int n );
a(5);
return 0;
}
void a(int n )
{ int i;
for(i=1;i<=n;i++) printf("%d\n",i);

}
对于这个函数执行的顺序是从上开始到a(5);,然后转入void的函数,然后直接运行void函数,其中void函数无返回值是不是表示void函数运行完就不回主函数,直接结束?如果不是,请详细解释下运行顺序,还有对void无返回值的理解。

你好!!

    对于这个函数执行的顺序是从上开始到a(5);

    然后转入 a 的函数,a 的函数类型是 void ;

    然后直接运行 a 函数内的代码,函数内的代码是循环打印 i 的值;

    其中 a 函数无返回值,表示 a 函数没有返回值( return ) ;

    函数 a 运行完后,才返回到主函数继续下面的程序。

    

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-11-04

针对你的这段代码,执行完a(5)以后,会执行return 0;也就是函数会结束。

void函数执行完,是会回到主函数的,你可以加一段测试代码

#include <stdio.h>
#include <stdlib.h>

int main()
{
  void a(int n );
  a(5);
  printf("再执行这里\n");//执行完void函数,还会执行这里
  return 0;
}
 void a(int n )
 {   int i;
     for(i=1;i<=n;i++) printf("%d\n",i);

}

void无返回值只是说,你不能期望直接返回一个数值给你使用,除了这个差别,无返回值函数跟

其他有返回值函数一样调用,一样会返回主函数

第2个回答  2013-11-04
void函数, ,是表示无返回值,void函数运行完就返回主函数本回答被提问者采纳
相似回答