Thỉnh thoảng ta dùng int main(), thỉnh thoảng void main(). Vậy sự khác biệt là gì?
Hàm main() giống như các hàm khác: nhận đối số và trả về giá trị. Chương trình bắt đầu thực thi từ main(), do hệ điều hành gọi. Giá trị trả về của main() sẽ trả cho hệ điều hành.
void main() cho biết main() không trả về giá trị, trong khi int main() cho biết main() trả về kiểu nguyên. Khi chương trình đơn giản, không kết thúc sớm, không lỗi, có thể dùng void main(). Nhưng nếu muốn kết thúc chương trình bằng exit() và trả mã lỗi (0 hoặc khác 0), void main() không hoạt động. Do đó, nên dùng int main() thay vì void main().