'void main()', 'int main()' và 'main()' trong c++

anh chị cho e hỏi ưu và nhược điểm của cách viết ‘void main ()’ và ‘int main ()’ và ‘main ()’ trong c++
A/c đi trước có kinh nghiệm thì e nên sử dụng cách nào. E thấy main () viết ngắn mà sao mọi người toàn viết 2 cách kia là sao nhỉ? Muglung.com :neutral_face:

1 Like

Lần sau đặt title cho chính xác hơn nhé.

1 số compiler không chấp nhận main() (compiler Tàu :expressionless:) và void main(). Người ta luôn khuyên dùng int main(), return 0 ở cuối coi như là kết thúc hàm main mà không có lỗi.

1 rổ:

1 Like

int main() với return 0 là chuẩn, chỗ nào cũng dùng.
main(), void main() thì tuỳ, không phải trình biên dịch nào cũng hiểu được.

1 Like

Ui bạn này chắc mới học C++ khóa anh Đạt nè, hôm qua mình học thấy cũng thắc mắc phần này nên cũng tìm đọc một bài phân biệt trên daynhauhoc nè :smiley:

Theo mình thì có 2 lý do:

  1. Lý do về compiler như các bạn trên đã nói
  2. Viết int main(){...}return 0 thì khi chương trình chạy mình sẽ biết chương trình bị lỗi nếu số trả về không phải là 0
1 Like

C++ không chấp nhận main() do không cho phép dùng kiểu trả về mặc định nữa. Đúng chuẩn thì chỉ có int main() nhưng để chấp nhận tham số dòng lệnh thì còn có 1 prototype nữa.

Fun fact: hàm main() là hàm duy nhất có giá trị trả về mặc định.

1 Like

Không phải ai biết phần này cũng là mới học C++ nhé.

Mình chỉ search bài trên DNH và dẫn link cho bạn thớt thôi :smile: Đừng cmt linh tinh.

[spoiler]Mình hơi khó chịu khi nhìn thấy bạn cmt như thế, nếu không nói là khó chịu vãi nồi.
Trong đời sống cũng thế, đừng có vội vã quy chụp, gán ghép, suy đoán vô căn cứ bất cứ 1 vấn đề nào, nếu bạn không muốn bị ăn vả.
[/spoiler]

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?