MCAP-7-30/400nexus 7哪里买买

What is the difference between exit(0) and exit(1) in C? - Stack Overflow
Join Stack Overflow to learn, share knowledge, and build your career.
or sign in with
Can anyone tell me? What is the difference between exit(0) and exit(1) in C language?
92.6k22149201
What is the difference between exit(0) and exit(1) in C language?
exit(0) indicates successful program termination & it is fully portable, While
exit(1) (usually) indicates unsucessful termination. However, it's usage is non-portable.
Note that the C standard defines EXIT_SUCCESS and EXIT_FAILURE to return termination status from a C program.
0 and EXIT_SUCCESS are the values specified by the standard to indicate successful termination, however, only EXIT_FAILURE is the standard value for returning unsucessful termination. 1 is used for the same in many implementations though.
Reference:
C99 Standard:
7.20.4.3 The exit function
Finally, control is returned to the host environment. If the value of status is zero or
EXIT_SUCCESS, an implementation-defined form of the status successful termination is
returned. If the value of status is EXIT_FAILURE , an implementation-defined form
of the status unsuccessful termination is returned. Otherwise the status returned is
implementation-defined.
105k14195346
157k31321467
exit(0) indicates that the program terminated without errors. exit(1) indicates that there were an error.
You can use different values other than 1 to differentiate between different kind of errors.
exit in the C language takes an integer representing an exit status.
Exit Success
Typically, an exit status of 0 is considered a success, or an intentional exit caused by the program's successful execution.
Exit Failure
An exit status of 1 is considered a failure, and most commonly means that the program had to exit for some reason, and was not able to successfully complete everything in the normal program flow.
talking about Exit Status.
As @Als has stated, two constants should be used in place of 0 and 1.
EXIT_SUCCESS is defined by the standard to be zero.
EXIT_FAILURE is not restricted by the standard to be one, but many systems do implement it as one.
8,58222740
The difference is the value returned to the environment is 0 in the former case and 1 in the latter case:
$ ./prog_with_exit_0
$ ./prog_with_exit_1
Also note that the macros value
EXIT_SUCCESS and EXIT_FAILURE used as an argument to exit function are implementation defined but are usually set to respectively 0 and a non-zero number. (POSIX requires EXIT_SUCCESS to be 0). So usually exit(0) means a success and exit(1) a failure.
An exit function call with an argument in main function is equivalent to the statement return with the same argument.
116k12185269
exit(0) behave like return 0 in main() function, exit(1) behave like return 1. The standard is, that main function return 0, if program ended successfully while non-zero value means that program was terminated with some kind of error.
92.6k22149201
exit is a system call used to finish a running process from which it is called. The parameter to exit is used to inform the parent process about the status of child process. So, exit(0) can be used (and often used) to indicate successful execution of a process and exit(1) to flag an error.
When the executable ends (exits) it returns a value to the shell that ran it. exit(0) usually indicates that all is well, whilst exit(1) indicates that something has gone amiss.
44.8k125899
exit() should always be called with an integer value and non-zero values are used as error codes.
exit(0) means Program(Process) terminate normally successfully..
exit(1) means program(process) terminate normally unsuccessfully..
If you want to observe this thing you must know signal handling and process management in Unix ...
know about sigaction, watipid()..for()...such....API...........
92.6k22149201
exit(0) is equivalent to exit(EXIT_SUCCESS).
exit(1) is equivalent to exit(EXIT_FAILURE).
On failure normally any positive value get returned to exit the process, that you can find on shell by using $?.
Value more than 128 that is caused the termination by signal. So if any shell command terminated by signal the return status must be (128+signal number).
For example:
If any shell command is terminated by SIGINT then $? will give 130 ( 128+2)
(Here 2 is signal number for SIGINT, check by using kill -l )
Your Answer
Sign up or
Sign up using Google
Sign up using Facebook
Post as a guest
Post as a guest
By posting your answer, you agree to the
Not the answer you're looking for?
Browse other questions tagged
Upcoming Events
ends Mar 27
Stack Overflow works best with JavaScript enabledSQLServer2008_R2_PDW_Datasheet_Final_With_MCAP_11-7-2010_ZHTW_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
SQLServer2008_R2_PDW_Datasheet_Final_With_MCAP_11-7-2010_ZHTW
阅读已结束,下载本文需要
想免费下载更多文档?
定制HR最喜欢的简历
你可能喜欢}

我要回帖

更多关于 nexus 7哪里买 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信