01/10/2018, 11:37

'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

HK boy viết 13:43 ngày 01/10/2018

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 ) 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ổ:

Anh chị cho em hỏi sử khác nhau giữa hai hàm đó , và khi nào ta nên sử dụng cái này, khi nào ta nên sử dụng cái kia ?
Em đang sử dụng codeblocks để học lập trình C++, cái codeblocks, em mà xài void main là nó bị lỗi, vì thế em phải xài int main, nên em nhờ anh chị giải thích giúp em int và void khác nhau chỗ nào. Với lại, codeblocks bị lỗi ko xài đc void, thì em có nên xài nữa ko, bởi vì VS 2010 của em ko khai báo đc biến string nên e buộc phải xài codeblocks thôi ạ.
mình thấy trên mạng thường dùng int main() và return 0. còn các thầy trong trường mình thì lại thường dùng void main(). không biết nó khác nào chỗ nào mn nhỉ ??
Trần Hoàn viết 13:38 ngày 01/10/2018

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.

Nguyễn Minh Tuấn viết 13:49 ngày 01/10/2018

hỏi sử khác nhau giữa hai hàm đó , và khi nào ta nên sử dụng cái này, khi nào ta nên sử dụng cái kia ?

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è

Hải Đào viết 13:41 ngày 01/10/2018

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
rogp10 viết 13:47 ngày 01/10/2018

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.

HK boy viết 13:37 ngày 01/10/2018

Ui bạn này chắc mới học C++ khóa anh Đạt nè

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

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è

Mình chỉ search bài trên diễn đàn và dẫn link cho bạn thớt thôi Đừ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]

Bài liên quan
0