重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
你其实问了一个很复杂的问题,牵涉到一个应用程序的生死过程,给你简单讲解如下:
创新互联专注于繁昌网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供繁昌营销型网站建设,繁昌网站制作、繁昌网页设计、繁昌网站官网定制、微信小程序开发服务,打造繁昌网络公司原创品牌,更为您提供繁昌网站排名全网营销落地服务。
(1)一个Windows应用程序的执行过程是:
操作系统调用C/C++运行期启动函数-启动函数做完所有初始化工作后-调用应用程序进入点函数(即我们的主函数)
(2)而主函数返回时-启动函数便调用C/C++运行期的exit函数。
(3)通常我们的主函数有这样一个整型返回值,其意义为:当主函数返回时,这个返回值就会传递给这个exit函数作为参数,exit函数先做完所有清理工作,然后调用操作系统的ExitProcess函数并将返回值传递给它,这使得操作系统能够撤销进程并设置退出代码。通常0表示正常返回,非零的其他值表示出现错误。
(4)我们的主函数可以定义为类似void main()这个样子,即无返回值,那么这个时候就不能用return语句把退出代码传递给父进程或操作系统,此时操作系统可以撤销进程但不会设置退出代码。当然在这种情况下,你还是有办法设置退出代码,那就是显式地调用exit(退出代码)。
int main()
{
float a = 1.0;
printf("%f", a); // 在标准输出设备(一般为计算机的显示器)上,输出a的值
return 0; // 正常返回
}
把你那个double 全换成 int 还有那个%lf也换一下 %d下面你看看我的 #include "stdio.h"int fnJc(int n);int fnJc(int n)
{
int i, iJ=1; for(i=1; i=n; i++)
iJ = iJ * i; return iJ;
}void main(void)
{
int n, iJ; printf("Input one integer: ");
scanf("%d", n);
iJ = fnJc(n); printf(" %d! = %d\n", n, iJ);
}有不懂的 请追问
函数的返回值通过return语句来执行,即return后的变量或表达式的值,就为该函数的返回值(你可以根据需要自定义返回什么值),而返回值的类型是指该值你想要得到的类型,比如return
a;(a的类型,你在函数体里定义的是int
a;但根据需要,你要的是一个float型的返回值),于是,这样定义一个函数:
float
函数名(参数列表)
{
int
a;
函数体;
……
return
a;
}
这样,返回值a就变成了float型。
在函数中,如果碰到return 语句,那么程序就会返回调用该函数的下一条语句执行,也就是说跳出函数的执行,回到原来的地方继续执行下去。但是如果是在主函数中碰到return语句,那么整个程序就会停止,退出程序的执行。
函数的返回值是由返回语句return实现的,函数执行的最后一个操作就是返回,返回的意义是:
(1)子程序函数返回主调函数,宣告函数的一次执行结束,在调用期间所分配的变量单元被撤消;
(2)送函数值到调用表达式中,当然这一点并不是必需的,因为有些函数有返回值,有些函数没有返回值。
扩展资料:
c语言中return作为英语单词的含义:
return,英文单词,动词、名词、形容词,作动词时意为“返回;(尤指感觉)恢复;把……退回;以……相报;(网球等)回击(球)”,作名词时意为“返回;恢复;归还;(网球等)回击球;被退回的东西;回路导线”,作形容词时意为“来回的;巡回的;报答的;回程的;返回的”。
参考资料来源:百度百科-return
参考资料来源:百度百科-return