30/09/2018, 17:01

Void main() và int main() khác nhau ntn?

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ỉ ??

Nguyễn Minh Dũng viết 19:10 ngày 30/09/2018

void main không thuộc về chuẩn ANSI C. int main là chuẩn ANSI C.


Nếu compiler hỗ trợ void main, Microsoft Visual Studio cl.exe compiler, thì mình có thể chạy được. Còn không thì nó sẽ báo lỗi.

Xem thêm: http://portal.daynhauhoc.com/series/c-bai-36-ham-main-again/

Phạm Hoàng Tuấn viết 19:10 ngày 30/09/2018

Nếu mình nhớ k lầm thì thực ra khi bạn dùng void main() thì mặc địch nó cũng trả về 0, giá trị trả về này để thông báo là có lỗi khi chạy hay k.
0 là không có lỗi, khác 0 là có lỗi.
Nên 2 cách viết là giống nhau !

GodOfGod viết 19:06 ngày 30/09/2018

Chuẩn nhất là int Main(void)

... viết 19:17 ngày 30/09/2018

Nhờ bạn dẫn chứng cho mọi người một tài liệu hoặc một trang web nào đó đề cập đến chuẩn nhất trong khai báo hàm main trong C++ với.

GodOfGod viết 19:04 ngày 30/09/2018
  1. Mình thấy tag là C nên mình xin trả lời theo chút hiểu biết hạn hẹp về ngôn ngữ C
  2. Chuẩn C99 khuyến khích sử dụng int main(void) và int main ( int argc, char *argv[] ) (cái nào cũng được)
    3)Trong C++ , Main() là hàm ko có tham số, còn C thì là hàm không quan tâm tham số
Công Tuyền Lê viết 19:03 ngày 30/09/2018

điều gì xảy ra nếu bỏ thêm tham số vào hàm main trong c++ nhỉ

Trần Hoàn viết 19:05 ngày 30/09/2018

Thì nó là tham số khởi động chương trình thôi bạn ạ. Giả sử bạn có một tập tin C:\ahjhj.txt, và mở bằng ứng dụng notepad.exe, chỉ thị ngầm định đối với Windows là:

C:\Windows\System32\notepad.exe "C:\ahjhj.txt"

Nếu ứng dụng notepad được viết là int main(int argc, char* argv[]) thì trong trường hợp này, argc == 1argv[0] == "C:\ahjhj.txt"

Tham số thể hiện rõ nhất trong CLI, ví dụ Command Prompt. Chẳng hạn như khi bạn chạy lệnh ipconfig /all thì "/all" chính là tham số đầu tiên, ứng với argv[0], và chỉ có 1 tham số nên argc == 1

Công Tuyền Lê viết 19:13 ngày 30/09/2018

thanks a :)))))))))))))

Văn Dương viết 19:12 ngày 30/09/2018

Nó chỉ là cái chuẩn người ta quy định thế thì phải viết thế.

Bài liên quan
0