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。
扩展资料:
举例:
#include "stdio.h"
void function()
{printf("111111");
return;
printf("222222");
}
main()
{
function();
}
运行结果为:屏幕上只输出一串数字1 而没有2。 但是如果去掉function函数中的return语句 就可以同时输出一串数字2。这里的return其实还有个退出该程序的作用!也就是说在printf("111111");后面加了个return,就表示结束该函数,返回主函数中去了!
参考资料
1)void
2)非void
对于void,在函数的最后一行代码,可以不用;其他地方,因为你要返回函数调用,所以必须要用。
对于非void,既然函数返回值类型定义为非void,那么肯定需要使用这个函数的返回值。比如返回值是函数运行结果,或者表明函数运行结果是成功还是失败。这种情况,即使是函数最后一行,也需要使用。
对于有些情况,没有return,编译器也不会报错,比如main函数 (编译器会默认返回值为0,假设你的main函数返回值是int)。但是为了保持良好的习惯,还是建议使用。比如你写的程序编译后需要在脚本中调用,我们可以通过检查你的程序的结束代码来判断你的程序的执行情况,成功或是失败。这时候的检查就依赖于你是否在main函数中正确使用了return。
返回值怎么用?
main的返回值还是非main的返回值?
在C语言中,return语句的作用是返回函数的值,如下代码:
#include<stdio.h>
int f(int a) //定义函数f()
{
return a*2; //返回值a*2
}
int main() //定义main()的类型为int
{
int a;
scanf("%d",&a);
printf("%d\n",f(a)); //调用函数f(),并输出函数的返回值
return 0;
}
在上述程序中的fun()函数中,利用return语句返回值a*2的值,在main()主函数中,因为定义其类型为int(整型),所以返回值0,以检测是否运行正常。
当然,在C语言中,如果定义函数的类型为void(无类型),则无需运用return语句,main()主函数也一样,如下代码:
#include<stdio.h>
void f(int a) //定义函数f()
{
printf("%d\n",a*2); //输出a*2的值
}
void main() //定义main()的类型为void
{
int a;
scanf("%d",&a);
f(a); //调用函数f()
}
两个程序的作用相同,都是输出所输入数据的两倍,区别在于函数的类型。
(⊙o⊙),那返回键怎么用?
返回表示向主函数返回一个值,比如a=sum(b);就是把sum函数的返回值给了a