1.C程序在主函数中不加return 0结束语句是否可以?
这个要看main函数的类型,如果是int main()要加,是void main()则不用加,main函数也是一个函数,如果有类型就要返回
2.C语言中什么时候该用return,什么时候不用?
当你定义函数的时候才要用,有些函数有返回值,也就是调用一个函数之后,该函数返回一个值给你。
如 int fun(int a) 这个函数就要用return ,而且return 后面跟的变量或字面常量应该是整形才对,如果是不能自动转换成整形的数据如double型的,系统就会报错,但是如果return一个short型的变量,该变量会被自动转化为int型变量。
总之,return后面跟的变量或者表达式结果的类型要与函数的类型一致。
一般用void的话就是没有返回值和不需要返回值的了,如调用一个输出函数,这个函数就没必要返回了,事实上这个函数只管输出就好了,也没有什么值要返回的,另一种是用指针传址的时候,因为你传的是地址,函数根据你的地址直接对数据进行操作了,这是就不需要返回值了。
不过要注意,return函数值是结束当前函数的调用,只有在主函数中return语句才具有结束程序的能力,在调用的函数中,只是结束你调用的函数罢了。
- 一般引用一个需要一个返回值的函数时那个函数通常就用return返回所需要的值,
函数类型之中,有一个类型叫做空类型,也就是void 如void fun(int a)这个函数里面可以用return (后面不跟数据),也可以把return语句省略。这时函数调用到最后一个右大括号时结束。
还有一种情况就是函数接收的参数是数组或某个指针(其本质都是地址),此时就是直接对主调函数中的数据进行操作,不需要返回值的
程序本身是灵活的,关键看你如何做
以下帮你列出几种获得函数中返回值的方法
1)使用return获得
例如
function()
{
return 10;
}
main()
{
int a;
a = function();
}
2)使用全局变量获得
int a;
function()
{
a = 11;
}
main()
{
int b;
function();
b = a; //function对全局变量a付值
}
3)传地址
function(int *p)
{
&p = 10;
}
main()
{
int a;
function(&a); //a得到的就是10
}