c语言文件问题,请问下面exit(1)为何要放在这里?(初学者,还请大神说的详细一点) 10

if((fp=fopen("string","at+"))==NULL){printf("Cannotopenfilestrikeanykeyexit!");getch(... if((fp=fopen("string","at+"))==NULL)
{
printf("Cannot open file strike any key exit!");
getch();
exit(1);
}
展开
 我来答
匿名用户
2015-08-01
展开全部
这个涉及到整个程序思路的问题,就这段代码解释一下吧
if((fp=fopen("string","at+"))==NULL)
这是打开文件string,以追加方式打开文本文件可读可写
当fp==null的时候打开失败,即文件不存在,这种情况下考虑到使用追加方式,即at+中的a,那么如果文件不存在的话下面的程序也不能继续运行。

{
printf("Cannot open file strike any key exit!");
getch();
首先输出错误信息,并使用getch()使程序阻塞,使用户可以看到提示信息。
exit(1);
接下来既然文件不存在,程序不能顺利运行,当然应该直接退出程序。如果是在main里面的话和return性质差不多,如果在子函数里面的话就必须使用exit来结束程序,或者是return一个明显不可能的值,使得调用的程序意识到调用出错,进行异常处理,这都是后话了
}
更多追问追答
追问
可以就写exit吗?
追答
exit必须要有参数的,exit(0)表示正常退出,其他参数表示异常退出,这些是给调用这个程序的其他程序准备的,如果只是关心当前这个程序的话什么数都可以退出程序
守望海之依赖
2015-08-01 · TA获得超过177个赞
知道答主
回答量:55
采纳率:0%
帮助的人:23.6万
展开全部
这是一个判断文件是否打开正常的代码块,,,,假如打开失败的话,,输出一句提示,,然后getch,,等待用户按下一个按键之后,,exit,,因为文件打开失败的话后边的操作不能继续执行,否则可能出错,,所以直接用exit退出程序。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式