C语言中函数返回值遇Return的关系!!!!!!!!!

C语言中函数返回值遇Return的关系!!!!!!!!!,第1张

1 函数的值只能通过return语句返回主调函数。

2直接输出地数值能否在本函数中直接使用,要看你定义的变量类型了。如果是全局变量,就可以;如果是局部变量,只能在给出定义的函数内使用。

题主是说在 run 外部调用 a、b、c?

那是不可能的,使用嵌套函数的目的就是为了让外部无法调用,以达到封装性的目的。

可以使用折衷的办法:

function run(obj){

    function a(){

        return '我不爱你';

    }

    function b(){

        return '我爱你';

    }

    function c(){

        return '我只喜欢你';

    }

    

    switch(obj){

        case 'a':

            return a();

            break;

        case 'b':

            return b();

            break;

        case 'c':

            return c();

            break; 

    }

    return null;

}

使用时:

alert(run('a'));

alert(run('b'));

alert(run('c'));

是的。

例如:

fun1(){

return;

printf("fun1");

}

fun2(){

fun1();

printf("fun2");

}

main(){

fun2();

}

扩展资料

return语句的使用说明

(1)返回值类型应和函数类型一致,不一致将返回值自动转换成函数类型。

(2)函数中可以有多条返回语句,这时一般与if语句联用,执行到哪一条返回语句,哪条返回语句起作用。

(3)函数中无return语句,执行至函数体结尾时返回,此时将返回一个不确定的值给函数。

(4)如果只需要从函数中返回,而不需带回值,使用不带表达式的return语句。

嗯,是这样的,不过return只能退出当前函数,如果多个函数嵌套就不行了,要想整个退出用exit

例如:

fun1(){

return;

printf("fun1") ;

}

fun2(){

fun1();

printf("fun2") ;

}

main(){

fun2();

}

此时main函数调用fun2,然后fun2调用fun1,fun1直接return了,fun1没有打印,但是fun2打印了,如果想不打印fun2,把fun1里面的return改为exit就好了

在C语言中,所有的函数定义,包括主函数main在内,都是平行的。也就是说,在一个函数的函数体内, 不能再定义另一个函数, 即不能嵌套定义

在例子中,没有嵌套定义的

int max(int a,int b)

{

if(a>b)return a;

else return b;

}//这是在定义max

而main()函数中,

void main()

{

int max(int a,int b);//这是声明,被调用函数,定义在main函数前,可以省略

int x,y,z;

printf("input two numbers:\n");

scanf("%d%d",&x,&y);

z=max(x,y);//这是调用

printf("maxmum=%d",z);

}

所以不矛盾

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/12155781.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存