1. c语言return是函数吗
return不是函数 而是关键字
用于向主调函数返回.
2. C语言中return怎么用,主函数中一定要用吗
return,从函数调用执行中返回,可以分两种情况:
1、void型
例如:
void f2()
{
int i=1;
//return;//这样也可以,不要这一句也可以
}
2、非void型
例如:
int f1()
{
int i=1;
return 1;
//return(i); //这样也可以
}
有时即使被调用函数是void类型 被调函数中的return也不是毫无意义的;对于void,在函数的最后一行代码,可以不用;其他地方,因为你要返回函数调用,所以必须要用。
对于非void,既然函数返回值类型定义为非void,那么肯定需要使用这个函数的返回值。比如返回值是函数运行结果,或者表明函数运行结果是成功还是失败。这种情况,即使是函数最后一行,也需要使用。
对于有些情况,没有return,编译器也不会报错,比如main函数(编译器会默认返回值为0,假设你的main函数返回值是int)。但是为了保持良好的习惯,还是建议使用。
比如你写的程序编译后需要在脚本中调用,我们可以通过检查你的程序的结束代码来判断你的程序的执行情况,成功或是失败。这时候的检查就依赖于你是否在main函数中正确使用了return。
(2)c语言return函数吗扩展阅读:
举例:
#include "stdio.h"
void function()
{printf("111111");
return;
printf("222222");
}
main()
{
function();
}
运行结果为:屏幕上只输出一串数字1 而没有2。 但是如果去掉function函数中的return语句 就可以同时输出一串数字2。这里的return其实还有个退出该程序的作用!也就是说在printf("111111");后面加了个return,就表示结束该函数,返回主函数中去了!
参考资料
网络_return(C语言语句)
3. 在标准c语言中 函数只能有一个return函数么
一个函数中可以有多个return,但是函数在运行时只能有一个return生效。return返回的类型必须是函数的类型。
如下列函数在a大于0时返回1,等于0时返回0,小于0时返回-1。函数test的类型是int,所以return的数字必须是int型。函数中根据参数a的不同,分别有3个return,但每次执行只能有一个return被执行。
int test(int a)
{
if(a>0)
return 1;
else if(a==0)
return 0;
else if(a<0)
return -1;
}
4. C语言中return用法(请熟练者进)
return是返回值,这个返回值是和函数的类型有关的,函数的类型是什么,他的返回值就是什么
比方主函数intmain()
{}这里就必须有一个return,只有void时可以不用返回值。
功能函数
intfun()
{
return1;
}
这个时候fun函数的作用就是返回一个int类型的值,可以直接拿来用比方inta=fun();
这里就相当于inta=1;
另外一个作用return后面的语句不会执行,我们可以用它来结束程序。
(4)c语言return函数吗扩展阅读:
注意事项:
1、一个c程序由一个或多个程序模块组成,每一个程序模块作为一个源程序文件。对较大的程序,一般不希望把所有内容全放在一个文件中,而是将它们分别放在若干个源文件中,由若干个源程序文件组成一个c程序。这样便于分别编写和编译,调高调试效率。一个源程序文件可以为多个c程序公用。
2、一个源程序文件由一个或多个函数以及其他有关内容(如指令,数据声明与定义等)组成。一个源程序文件是一个编译单位,子啊程序编译时是以源程序文件为单位进行编译的,而不是以函数为单位进行编译的。
3、c程序的执行是从main函数开始的,如果在main函数中调用其他函数,在调用后流程返回main函数,在main函数中结束整个程序的进行。
5. C语言return函数的用法
这条语句一般情况下加在主函数的最后,表示程序运行正常,则返回一个整数值0。其实在windows下一般没有这个要求,除非是一个程序调用另外一个程序,或者在unix和linux下系统会要求一个程序返回一个整数值。
6. c语言函数的return谁能仔细给我解释一下
事实上 无论是return ; 还是return X;
在汇编上都只有一条指令:ret(retn)
只不过对于return X; 会在 执行ret指令之前对eax寄存器赋值:
如果是return 0 ; 可能编译器会这样做:
xor eax,eax
ret
其他情况类似
然后从C语言角度讲
对于返回类型为void的函数
函数体内可以出现return;语句来表示结束本函数的执行
这个时候eax还是有值的,因为 函数返回类型是void,因此在调用该函数的地方不可能会去用该函数的返回值,也就意味着该返回值是毫无意义的
楼主想问的 单独的return;语句,对于这行代码,一般只用在返回类型为void的函数体内
若出现在非void返回类型的函数体内,那么返回值是隐含在寄存器eax中的
然后对于有返回值的函数来说
return后面是肯定需要跟一个值的
这个值是被送入寄存器eax带出来的~
我说再多 也许还是会有人不信(本人玩逆向的,这一切信不信那是你们的事,我只能把事实告诉你们,我也只能做到这样了)
下面直接上代码上图:
(微软任何C/C++编译器、VC/VS这些、都支持编译此代码,没有警告,没有错误)
注:主函数不主函数的return都是没有区别的
但是main函数很特别,特别在它有好多种写法,标准C真正的主函数返回类型是int
有2个参数,一个是命令行参数个数,一个是命令行参数
windows下面的主函数可以有三个参数,前两个参数跟标准C一样,第三个参数是环境变量
这些参数都是由mainCRTStartup函数传进来的,而mainCRTStartup再往上你还要研究的话那。。。。那。。。那。。。我只能告诉你这些参数都是要操作系统传进来的吧~~~
我们编程的时候,也许有些菜鸟会把main写成如下形式:void main()
其实这种写法在编译之后都是会被转化成标准写法的底楼说的 不带返回值系统默认返回0这完全是不靠谱的,因为事实当中返回值都是被寄存器eax带出去的,而对于main是必须要返回值的,菜鸟写了没返回值的main在编译之前就被编译器替换掉了,哪来的默认返回0的说法?何来默认?系统会把你写的main换成 标准main形式!标准main会在底下返回0
主函数return的值只有你在其他进程中创建子进程,子进程的返回状态被父进程接收的值就是main的返回值,所以,在你写的程序不需要被其他进程创建的话,main的返回值是无关紧要的
7. C语言中return的作用是什么,能具体点吗
return 表示把程序流程从被调函数转向主调函数并把表达式的值带回主调函数,实现函数值的返回,返回时可附带一个返回值,由return后面的参数指定。
return通常是必要的,因为函数调用的时候计算结果通常是通过返回值带出的。 如果函数执行不需要返回计算结果,也需要返回一个状态码来表示函数执行的顺利与否(-1和0就是最常用的状态码),主调函数可以通过返回值判断被调函数的执行情况。
(7)c语言return函数吗扩展阅读:
C语言return返回值的说明:
1、没有返回值的函数为空类型,用void表示。
2、return 语句可以有多个,可以出现在函数体的任意位置,但是每次调用函数只能有一个 return 语句被执行,所以只有一个返回值。
3、函数一旦遇到 return 语句就立即返回,后面的所有语句都不会被执行到了。从这个角度看,return 语句还有强制结束函数执行的作用。
4、return语句是提前结束函数的唯一办法。
参考资料来源:网络-return(C语言语句)