Is exit(status) truly equivalent to returning the same status from main?
Yes and no. The Standard says that they are equivalent. However, a few older, nonconforming systems may have problems with one or the other form. Also, a return from main cannot be expected to work if data local to main might be needed during cleanup; see also question 16.4. (Finally, the two forms are obviously not equivalent in a recursive call to main.)
References:
K&R2 Sec. 7.6 pp. 163-4
ANSI Sec. 2.1.2.2.3
ISO Sec. 5.1.2.2.3
Read sequentially: prev next up top
This page by Steve Summit // Copyright 1995 // mail feedback