C语言如何提前退出所调用的子函数?

#include<stdio.h>#include<conio.h>#include<stdlib.h>voidtest(intk){if(k>10)exit(0);/*... #include<stdio.h>
#include<conio.h>
#include<stdlib.h>
void test(int k)
{if ( k>10)
exit(0);
/*这里还有其他处理程序,本意是想判断i如果大于10就不处理余下的代码*/
}
void main(void)
{int i;
clrscr();
printf("\n");
for(i=0;i<5;i++)
printf("%d ",i);
test(12);
i++;
printf("%d ",i);
}
原本希望输出:0 1 2 3 4 5
但是只输出0,1,2,3,4,还有5未输出.
如果希望子函数不影响主函数后面的代码执行,该如何写代码.
主要想自动exit(0)函数的用法
不想把子函数写成:
void test(int k)
{if (k<=10) {代码.... }
else { 代码... }
}
这样是可以,但是如果子函数代码多了的话,很容易把{}搞混淆.
希望能详细讲解.
谢谢!
展开
 我来答
White_MouseYBZ
推荐于2018-02-28 · TA获得超过4万个赞
知道大有可为答主
回答量:2.1万
采纳率:82%
帮助的人:6356万
展开全部
C/C++中,用return可以从任何子函数中退出返回到主调函数,而exit()是用来退出程序返回操作系统的。至于怕把{}搞混了,那你是不可能回避的,因为{}是C/C++的重要语句成份,而且写C/C++是提倡多用{}的——就是说不要轻易省掉,必要时还可以多加。可见,程序员们的经验是{}不仅不会搞混,而且有助于代码的阅读!
高怀如远山c
2015-06-02 · TA获得超过6202个赞
知道小有建树答主
回答量:947
采纳率:33%
帮助的人:211万
展开全部
用return可以从任何子函数中退出返回到主调函数,而exit()是用来退出程序返回操作系统的。至于怕把{}搞混了,那你是不可能回避的,因为{}是C/C++的重要语句成份,而且写C/C++是提倡多用{}的——就是说不要轻易省掉,必要时还可以多加。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lucky_sage
2013-04-16 · TA获得超过180个赞
知道答主
回答量:106
采纳率:0%
帮助的人:111万
展开全部
用return 啊

void test(int k)
{if ( k>10)
return; //exit(0);
/*这里还有其他处理程序,本意是想判断i如果大于10就不处理余下的代码*/
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-04-16
展开全部
如果是想退出一个函数就用return,退出应用程序用exit()
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
火舞蝶衣
2013-04-16 · TA获得超过3818个赞
知道小有建树答主
回答量:1521
采纳率:50%
帮助的人:488万
展开全部
就用return;这样就好了
关于{}容易搞混淆,你可以通过不同的缩进来对齐对应的{}
追问
谢谢babybluein及时回答.
在其他高级语言里如delphi是可以用exit(),退出当前调用的子函数的,而且不影响调用函数的其他代码执行.
C里面给的EXIT(0)到底有何用,依此看来不是毫无用处了?,按理谁也不会想要把MAIN()函数退出啊
而且test函数是void型,这里里不需要返回值的
追答
http://www.cplusplus.com/reference/cstdlib/exit/

exit()就是退出,传入的参数是程序退出时的状态码,0表示正常退出,其他表示非正常退出,一般都用-1,标准C里有EXIT_SUCCESS和EXIT_FAILURE两个宏,用exit(EXIT_SUCCESS);可读性比较好一点。
使用exit()时,可以不论main()的返回值类型。
一般如果用return的话,会尝试自己去接住返回值并给处理掉,exit应该是符合默认的处理方式
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式