c语言中,程序一定从main函数结束么?

#include <stdio.h>
void main()
{
void max(int m,int n);
int a=10,b=8;
max(a,b);
}
void max(int m,int n)
{int c;
if(m>n) c=m;
else c=n;
printf("max=%d",c);
}

这样的情况,函数是从哪里结束的呢,还从main结束么? 我还是初学,exit 还不知道、、、

不一定。举例说明如下:

#include <stdio.h>

#include <stdlib.h>

void testPrint(){

 printf("test in testPrint()\n");

 exit(0);

}

void main(){

 testPrint();

 printf("test in main()\n");

}

在上面的main()中调用了testPrint(),而testPrint()以exit(0)结尾,从而结束了整个程序,main()中的printf("test in main()\n"); 语句不会得到执行。 

===

补充回答:没有 exit(),自然是从main()结束:

void main(){

   ...

}//从这里结束,准确说,到了这个},整个程序就结束运行了。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-01-09
是的,正常时一定从main开始,并从其结束,除非程序中间触发了不能当场处理的异常才会提前终止本回答被网友采纳
第2个回答  2011-01-09
很明显肯定是的,程序执行始终是从main函数执行下来,遇到函数调用,流程就转进函数里执行,即使函数里是最终输出,执行完函数体,流程一样也要转回main函数,继续执行到结束!
第3个回答  2011-01-09
是的,c程序一定从main开始,main结束,main可以调用别的函数,当别的函数执行完的时候,最终还是回到main中来,不管main函数放在哪都是一样,只用前面有别的函数声明!
第4个回答  2011-01-09
是的!main必须放最后,因为一般来说,main函数里面都会调用其他函数,而如果你main函数放前面的话,识别不了你后面才定义的函数,所以main函数放最后!