#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 { 代码... }}这样是可以,但是如果子函数代码多了的话,很容易把{}搞混淆.希望能详细讲解.
3 回答
繁星点点滴滴
TA贡献1803条经验 获得超3个赞
C/C++中,用return可以从任何子函数中退出返回到主调函数,而exit()是用来退出程序返回操作系统的。至于怕把{}搞混了,那你是不可能回避的,因为{}是C/C++的重要语句成份,而且写C/C++是提倡多用{}的——就是说不要轻易省掉,必要时还可以多加。可见,程序员们的经验是{}不仅不会搞混,而且有助于代码的阅读!
犯罪嫌疑人X
TA贡献2080条经验 获得超4个赞
用return 啊
void test(int k)
{if ( k>10)
return; //exit(0);
/*这里还有其他处理程序,本意是想判断i如果大于10就不处理余下的代码*/
}
添加回答
举报
0/150
提交
取消