ในโปรแกรม C/C++ ถ้าฟังก์ชัน main() ทำตามคำสั่งทั้งหมดทีละขั้นตอนโดยไม่มีข้อผิดพลาดใดๆ ในตอนท้ายฟังก์ชันจะไปถึง return 0; หากไปจนกระทั่ง ส่งคืน 0คอมไพเลอร์จะถือเป็นการดำเนินการที่ประสบความสำเร็จ การสร้างฟังก์ชัน main() โดยส่งคืน 0 ถือเป็นแนวทางปฏิบัติที่ดี

หากเราประกาศฟังก์ชั่น main() เช่นนี้:

ถือเป็นโมฆะ main(){
// กิจกรรมทั้งหมดที่ต้องดำเนินการ
}

เราก็ไม่จำเป็นต้องคืนอะไร แต่นี่ไม่ใช่แนวปฏิบัติที่ดี เนื่องจากคอมไพเลอร์ไม่สามารถติดตามการดำเนินการที่ไร้ที่ติในลักษณะนี้ คุณสามารถใช้ void main() ได้ หากคุณมั่นใจมากเกินไปเกี่ยวกับการจัดการข้อผิดพลาด/ข้อยกเว้น แต่ในบางกรณีอาจประสบปัญหา คอมไพเลอร์บางตัวไม่รองรับ void main();