まとめ

1. main 関数で return を省略する事は可能。しかし、コンパイラによっては警告が出る可能性はある。
2. しかし、C89 の場合は戻り値未定義であり、0 が返るとは限らない。この意味で、return 0; の省略は不可能と言える。
3. C99 や C++ でなら 0 が返る事が保証される。つまり、return 0; の省略は可能である。