C语言中return -1

查看:94
本文介绍了C语言中return -1的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

昨天看到一个c语言的一个函数,其中有if分支,其中一个分支结尾为return -1,另外一个分支结尾为return i。我在网上搜了一下,发现很多人回答return -1表示程序没有顺利执行(非正常退出),然后就有了以下两个疑问:

  • 即使是非正常退出那也还是退出了啊,这和return 0 有什么区别吗?

  • 能不能举个例子说下这种return -1的具体应用的场景啊,感觉不知道这个有什么用。。谢谢~

解决方案

因为很多时候一个函数返回值并不是简单的true false,而是i这样的有意义的值或者有错误码,因为负数本身就有negative的性质,所以往往用来表示错误码。这样函数约定返回0或非负数表示成功,很多系统API(Win32、POSIX)都是这样设计的。-1往往代表程序员偷懒没有指定错误码,或者没有合适的错误码。
另外其实由于很多系统对于进程退出的返回码约定是一个非负数,所以main函数最好返回正数表示错误值。比如一般有个宏EXIT_FAILURE是1。

这篇关于C语言中return -1的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆