บทนำ
บางครั้งเราใช้ int main() บางครั้งใช้ void main() คำถามคือ ความแตกต่างระหว่างสองอย่างนี้คืออะไร
คำอธิบาย
ฟังก์ชัน main() คล้ายกับฟังก์ชันอื่นๆ มันรับอาร์กิวเมนต์และคืนค่า สิ่งสำคัญคือโปรแกรมเริ่มทำงานจาก main() นี้ ระบบปฏิบัติการเป็นผู้เรียกฟังก์ชันนี้ เมื่อมีการคืนค่าจาก main() ค่าจะถูกส่งกลับไปยังระบบปฏิบัติการ
void main() แสดงว่า main() ไม่คืนค่า ส่วน int main() แสดงว่าสามารถคืนค่าจำนวนเต็มได้ เมื่อโปรแกรมเรียบง่าย ไม่จบก่อนบรรทัดสุดท้าย หรือไม่มีข้อผิดพลาด สามารถใช้ void main() ได้ แต่ถ้าต้องการจบโปรแกรมด้วย exit() และต้องคืนค่าจำนวนเต็ม (ศูนย์หรือไม่ศูนย์) void main() จะไม่ทำงานได้ ดังนั้นการใช้ int main() จึงเป็นแนวทางที่ดีกว่า