Em mới học c++.
Cho em hỏi là tại sao hàm main trong c++ là :
int main()
{
}
em tưởng hàm int là phải return giá trị chứ ạ mà có lúc hàm main không cần return ạ
Em mới học c++.
Cho em hỏi là tại sao hàm main trong c++ là :
int main()
{
}
em tưởng hàm int là phải return giá trị chứ ạ mà có lúc hàm main không cần return ạ
Hàm này đặc biệt là không cần return (mặc định là 0).
Không cần return, nhưng thường và nên để return 0;
Giá trị được return là exit status
có thấy ai khuyên nên return 0 trong C++ main đâu nhỉ :V :V Nên bỏ qua mới đúng chứ :V Vì nó mất thêm 1 dòng, mất công type thêm mấy chữ =]]
Vấn đề return 0 hay không là nó vấn đề được tranh luận nhiều rồi.
Nhiều người cũng khuyên nên return đấy.
cái link đầu là họ hỏi sự khác biệt giữa exit() và return trong main mà, có hỏi nên hay ko nên bỏ return 0 đâu :V
cái link thứ 2 thì bây giờ mình mới biết là cuốn Accelerate C++ nó khuyên như vậy, ko biết good practice họ nói là ở đâu ra :V :V Mấy ans chỉ có 1 ông cứng nhắc kiểu hàm trả về int thì phải có return. Câu trả lời được chấp nhận cũng chả biết vì sao mấy ông tác giả kia lại bảo đó là good practice :V :V
à chắc cuốn sách đó viết vào năm 2000, mà C99 mới cho phép bỏ return 0, nên mới có 1 năm mấy ổng đương nhiên là chưa quen và có thể còn phải duy trì code cũ (C90 ko cho bỏ) nên mới khuyên như vậy. Bây giờ 20 năm sau rồi còn ai làm vậy nữa :V :V Câu hỏi 10 năm trước cũng đã thấy lạ ko hiểu tại sao lại gọi đó là good practice rồi :V Lạ cái là đây là sách về C++ mà :V
bổ sung thêm :V trên trang cppreference hay docs.microsoft gì hình như ko tìm thấy 1 ví dụ nào mà main có return 0 trong trỏng? :V
edit thêm VS2019 bú liếm C++ chuẩn mấy năm nay ko thấy để return 0 trong default project :V
edit =] trong tutorial của VS2019 có return 0 https://docs.microsoft.com/en-us/cpp/get-started/tutorial-console-cpp?view=vs-2019 nhưng ko giải thích vì sao phải có :V :V
http://www.stroustrup.com/bs_faq2.html Cha đẻ C++ viết 18 cái int main mà chỉ có 2 cái có return 0, mà return 0 đó là để giải thích đó là return success khác với return 1 là chương trình gặp lỗi :V :V Ko xài return 0 bằng mọi giá
Mình thấy rule dễ hiểu mà, không return thì default = 0. Mấy cái lặt vặt này có standard chịu trách nhiệm hết rồi (§3.6.1), nên có thể bỏ return 0;
mà không sợ compiler trả về sai.
The normal exit of program is represented by zero return value. If the code has errors, fault etc., it will be terminated by non-zero value. In C++ language, the main () function can be left without return value. By default, it will return zero
Đúng, đặc biệt là mấy thánh lười không bao giờ thêm vào :]]