Hàm void main and int main
Cho em hỏi hàm void main và int main công dụng của nó là gì và chúng khác nhau ở chỗ nào.CÓ gì cho em xin ít bài tập về C++ ( nhưng bài tập cơ bản thôi nha ) nói chung là nó liên quan đến vòng lặp For,While gì đó.
Thanks very much !!cậu tìm ở diễn đàn mình cũng có rất nhiều bài tập có vòng lặp do ,while mà.Trong "bài tập C từ A tới Z " có nhiều lắm.
Theo quy định chuẩn của C thì phải khai báo int main(...), nhằm mục đích chương trình phải trả về một giá trị nào đấy sau khi thực thi xong, báo cho hệ thống biết có lỗi xảy ra hay không hoặc cái gì đó đại loại như vậy. Tuy nhiên nhiều trình biên dịch không bắt buộc phải tuân thủ yêu cầu này (VC chẳng hạn), vì vậy hiện có sự lộn xộn giữa hai cách sử dụng, nhưng dùng cách nào cũng được, tốt nhất là theo chuẩn
Hổng dám muốn xài hay không đâu! nếu dịch trên window thì luôn phải trả về giá trị!
Mấy bạn xài TC chạy trên DOS thì đúng là muốn làm sao cũng được.bài tập c++ nè bạn
void main : là hàm chính trong chương trình . Lúc nào cũng phải có nó .
int main : là hàm con , mang tên là main , đầu ra theo dạng integer
- Được gửi bởi Đức Lùn
void main : là hàm chính trong chương trình . Lúc nào cũng phải có nó .
int main : là hàm con , mang tên là main , đầu ra theo dạng integer
Tào lao hết sức ! 1 CHƯƠNG trình C sẽ được biên dịch bắt đầu từ MAIN đó là cấu trúc rồi ko thể thay đổi được!! Còn chuyện "void or int" thì khác nhau điểm trả về thôi. CŨng giống như khi bạn viết Hàm thì Void ko có return còn int phải có return. Thế thôi !!
- Được gửi bởi Đức Lùn
void main : là hàm chính trong chương trình . Lúc nào cũng phải có nó .
int main : là hàm con , mang tên là main , đầu ra theo dạng integer
Ko đc truyền đạt thông tin ko chính sác nha, dể làm mấy bạn mới hoc C bị nhầm lẫn nghiêm trọng lắm X-(.
-Trong C hay bất kì 1 ngôn ngữ lập trình nào di nữa thì trong 1 file chỉ có thể có 1 hàm main() duy nhất.
- void main() là kiểu giá trị không sác định, tức là ko cần phải trả về bất kì cái gì sau khi hàm đó chạy xong ( như hàm nhập, xuất).
- int main(), void main(int), float main()... là sau khi chạy xong thì cuối hàm phải có return, vd return a+b; ( trả về 1 giá trị của a+b, tức là gán main = a+b sau khi chay xong ham main).
- nói chung void,int, long ... chỉ là kiểu dử liệu trả về cho hàm thôi - Được gửi bởi Đức Lùn
void main : là hàm chính trong chương trình . Lúc nào cũng phải có nó .
int main : là hàm con , mang tên là main , đầu ra theo dạng integer
Ngu mà cứ tỏ ra là mình nguy hiểm !!!Theo chuẩn là int main, ANSI C said so. void main thì tùy compiler cho phép hay ko
Nhiều C/C++ guru khuyến cáo dùng int main, cái gì theo chuẩn thì tốt hơn bạn ạ.
-
Đỗ Vy Bảo
- Join Date: Aug 2014
- Posts: 9
Ai biết chỉ mình với nhe,cái main này là gì mình cũng không hiễu rõ lém !!!!!!!!!!!
-
Hồ Thanh Tuân
- Join Date: Aug 2013
- Posts: 59
Originally posted by 14520048 View Post
Ai biết chỉ mình với nhe,cái main này là gì mình cũng không hiễu rõ lém !!!!!!!!!!!
Đơn giản thì: int main thì phải trả về kiểu dữ liệu là số nguyên, còn void main thì không phải trả về kiểu dữ liệu.
Comment
-
14520670
Nguyễn Hoài Phong
14520670Nguyễn Hoài Phong
- Join Date: Aug 2014
- Posts: 19
vậy nên dùng cái nào vậy anh?
người kêu int main, người kêu void main, người kêu int main(void) làm em tẩu cái này lun rùi :sosad:Comment
-
Đào Anh Nguyên
- Join Date: May 2011
- Posts: 170
Trong một số hệ thống linux, khi bạn chạy một chương trình nó sẽ trả về 1 giá trị.
Nếu giá trị trả về bằng 0, thì hệ điều hành xác định chương trình không gặp lỗi.
Nếu giá trị trả về khác 0, thì hệ điều hành xác định có lỗi. Tùy vào mã trả về để xác định.
Nên dùng int main() { .... return 0; // indicate successful termination}
Comment
-
Campus staff
- Join Date: Nov 2011
- Posts: 1192
Originally posted by 10520100 View Post
Trong một số hệ thống linux, khi bạn chạy một chương trình nó sẽ trả về 1 giá trị.
Nếu giá trị trả về bằng 0, thì hệ điều hành xác định chương trình không gặp lỗi.
Nếu giá trị trả về khác 0, thì hệ điều hành xác định có lỗi. Tùy vào mã trả về để xác định.
Nên dùng int main() { .... return 0; // indicate successful termination}
Không phải hệ thống linux mà đó là chuẩn POSIX. Mac, BSD và cả linux theo chuẩn đó. Và giá trị trả về được gọi là return status.
Nhưng ngay cả khi không có ý định trả về giá trị thì hàm main vẫn phải khai báo là kiểu void, theo chuẩn C ISO:9899-1999
Tóm lại là các bạn có thể quên cái void main đi, gõ int main tiết kiệm được một ký tự, gõ nhanh hơn ít mòn bàn phím.
Comment
-
Nguyễn Ân Phúc
- Join Date: Aug 2014
- Posts: 2
Như thầy thực hành đã nói: "Hãy chôn cái Void main đi vì nó là tàn tích của chế độ cũ" :v
Comment
-
14520602
Nguyễn Thành Nguyên
14520602Nguyễn Thành Nguyên
- Join Date: Aug 2014
- Posts: 68
Originally posted by truonganpn View Post
... gõ int main tiết kiệm được một ký tự, gõ nhanh hơn ít mòn bàn phím.
Em thích cách giải thích này của thầy hơn phần trước vì nó hợp lí và cực kì dễ hiểu... :stick:
Comment
-
Lê Văn Mến
- Join Date: May 2011
- Posts: 22
Originally posted by 14520602 View Post
Em thích cách giải thích này của thầy hơn phần trước vì nó hợp lí và cực kì dễ hiểu... :stick:
thế không tính cái return ở cuối hàm à :brick:
Comment
-
Lý Thanh Hậu
- Join Date: May 2011
- Posts: 342
Originally posted by 10520141 View Post
thế không tính cái return ở cuối hàm à :brick:
Cái này chỉ có trên Linux thôi thì phải. Windows có cũng như không.
Comment
-
Đặng Hồng Hải
- Join Date: Aug 2014
- Posts: 125
Vậy sao mỗi lần viết code nếu dùng int main thì phải return cuối cùng. đối với void main thì khỏi cần. cuối cùng cái nào ít mòn bàn phím hơn
Comment
-
Campus staff
- Join Date: Nov 2011
- Posts: 1192
Originally posted by 14520238 View Post
Vậy sao mỗi lần viết code nếu dùng int main thì phải return cuối cùng. đối với void main thì khỏi cần. cuối cùng cái nào ít mòn bàn phím hơn
Return cuối mỗi hàm là một thói quen tốt nhưng cả chuẩn ISO 9899 ISO 14882 đều không bắt buộc phải return nha em. Nếu em không thích gõ dòng return mà compiler em dùng nó lại báo lỗi thì em cứ mạnh dạn xóa phứa cái compiler đó đi.
Comment
-
12520167
Phạm Nguyên Hưng
12520167Phạm Nguyên Hưng
- Join Date: Aug 2012
- Posts: 300
Originally posted by 14520238 View Post
Vậy sao mỗi lần viết code nếu dùng int main thì phải return cuối cùng. đối với void main thì khỏi cần. cuối cùng cái nào ít mòn bàn phím hơn
ông này nói chuyện chả có chủ ngữ vị ngữ gì cả, chẳng hiểu bao nhiêu tuổi rồi
Comment