猿问

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

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;
}
这个程序的作用是把空格后的字母编程大写,本人对被掉函数不太理解麻烦解释下谢谢了

Cats萌萌
浏览 955回答 2
2回答

qq_笑_17

return只能退出当前函数,如果多个函数嵌套就不行了,要想整个退出用exit例如:fun1(){return;printf("fun1") ;}fun2(){fun1();printf("fun2") ;}main(){fun2();}此时main函数调用fun2,然后fun2调用fun1,fun1直接return了,fun1没有打印,但是fun2打印了,如果想不打印fun2,把fun1里面的return改为exit就好了。
随时随地看视频慕课网APP
我要回答