main() return value standard - stupid question
I feel kinda dumb asking this question, but I'm in an argument with someone about whether or not to use "return 0;" at the end of main(). I'm not sure if I'm reading the standard wrong, but shouldn't a program return with a value of zero on success? Maybe I'm being inept at searching tonight, but I didn't find any answers than answered my question.
Not including the "return 0;" at the end of main() would not guarantee this. The actual return value would be fairly unpredictable.
Basically is there a standard that says "return 0;" should appear at the end of main()? Are there good reasons NOT to return a value of zero on a successful program execution?