คำถามยอดฮิตแต่คำตอบมีนิดเด
"เป็นกฏที่เพิ่มเข้ามาในมาต
โดยกำหนดให้มีการคืนค่าเป็น
ในสมัยก่อนการเขียนโปรแกรมภ
void main(){
}
บางคนบอกว่าไม่ส่งค่าอะไรกล
การทำงานลักษณะนี้คนที่คุ้น
สำหรับคนที่สอนเขียนภาษา C ส่วนหนึ่งจะเพิ่ม int main( ) และ return 0; เสมอ เพราะกลัวว่าบางคนใช้ ide บางรุ่นแล้วจะคอมไพล์ไม่ผ่า

มาตรฐานที่ออกปี 1990 ยังไม่มีข้อกำหนดให้ return 0 หากไม่ได้ส่งค่าอะไรกลับ โปรแกรมจะส่งค่า undefined กลับไป

มาตรฐานที่ออกปี 1999 กำหนดไว้ในข้อ 5.1.2.2.3 ให้ส่งค่า return 0 กลับไปด้วย

เอกสารอ้างอิง gnc-c Manual
http://