为了账号安全,请及时绑定邮箱和手机立即绑定

您好,请问下面这个return语句是不是直接跳去该函数呀?还是有其他的操作呢?

您好,请问下面这个return语句是不是直接跳去该函数呀?还是有其他的操作呢?

Cats萌萌 2021-07-08 10:07:11
void main(){int chang(char *c,int a);char c;int flag=1;do{c=getchar();flag=chang(&c,flag);putchar(c);}while(c!='\n');}chang(char *c,int a){if(*c==' ')return 1;else if(a&&*c>='a'&&*c<='z')*c-='a'-'A';return 0;}这个程序的作用是把空格后的字母编程大写,本人对被掉函数不太理解麻烦解释下谢谢了
查看完整描述

2 回答

?
qq_笑_17

TA贡献1818条经验 获得超7个赞

return只能退出当前函数,如果多个函数嵌套就不行了,要想整个退出用exit
例如:
fun1(){
return;
printf("fun1") ;
}

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



查看完整回答
反对 回复 2021-07-11
  • 2 回答
  • 0 关注
  • 954 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信