-
30-05-2010, 05:31 PM #1
Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
phân biệt void main và int main. Giúp em
Em mới tiếp xúc với C++, và đang vướng bận hai hàm: int main() và void main()<font color="Black"> . [IMG]images/smilies/thinking.gif[/IMG]
Trong<font color="Navy"> int main() thì lại phải có return 0;
Còn trong void main() thì lại không có
Thế thì int main() và void main() khác nhau ở điểm nào? , và hàm return 0; có ý nghĩa gì vậy các bác
Nếu có ví dụ nữa thì tuyệt! Giúp em dễ hiểu hơn....[IMG]images/smilies/tongue.png[/IMG]
Mong các bác giúp đỡ [IMG]images/smilies/21.gif[/IMG]
</font></font>View more random threads:
- mọi người nhìn hộ e với ạ sao lại sai kết quả ạ
- Tìm từ chung của 2 xâu
- Lập trình C | bài tập kiểm tra số nhập vào
- Lỗi vòng for trong khi viết đúng câu lệnh
- tính định thức trong C
- tìm kiếm trong chuỗi, giúp tìm lỗi.
- In lich cua 1 nam bang ngon ngu c++
- giải thích giùm mình lỗi cannot convert from 'float' to 'float*'
- Đề thi ôn tập liên thông ĐH
- cho mình hỏi 1 bài toán trên bit
-
30-05-2010, 05:41 PM #2
Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Gửi bởi tuanvu_n
-
30-05-2010, 05:55 PM #3
Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
theo mình thì int main() dùng khi cần hiển thị ra kết quả. còn void main() thì không cần trả ra kết quả.
ví dụ: khi bạn tính diện tích thì bạn phải dùng hàm int main(). còn khi bạn chỉ nhập thông tin không thôi thì bạn dùng void main(). okmen
-
30-05-2010, 06:00 PM #4
Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Nên int main() vì nó sẽ portable code hơn void main().Có thể chạy hầu hết các complier.
-
30-05-2010, 06:01 PM #5
Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
© Manhvokiem
© conduongphiatruoc
Trả về return 0 là sao hai bác? HÌ, em vẫn chưa hiểu lắm!
Hai bác có thể cho em một ví dụ cụ thể được không ?
Cám ơn hai bác đã quan tâm bài viết của em
© tauit_dnmd
Nếu như Bác nói thì int main () nó tương thích nhiều hơn với các chương trình dịch phải không ?
-
31-05-2010, 09:17 AM #6
Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Gửi bởi tuanvu_n
+Nếu viết int main(), float main(), hay...thì tức là hàm main() phải có giá trị trả về. Tại sao lại để int, float...trước tên hàm làm gì? đó chính là kiểu dữ liệu của giá trị trả về <font size="5">của hàm (ở đây đang nói là hàm main).
+Nếu viết void main() thì hàm này không phải trả về bất cứ 1 cái gì cả.
- Bạn nói
Trong int main() thì lại phải có return 0;
Người ta return 0 chẳng qua chỉ là qui ước cho chúng ta nhớ: nếu ko có giá trị nào thì trả về 0(return 0).
Nếu bạn thick thì có thể qui ước giá trị khác ngoài 0, chỉ có điều mọi người khi đọc code của bạn sẽ LÚNG TÚNG, KHÓ HIỂU tại vì trước giờ đã quen ko có giá trị thì trả về 0 (return 0), còn bạn thì lại trả về 10(return 10)(vd thui nhé).Cũng giống như đi trên đường đèn đỏ thì dừng, bây giờ thay đổi đèn xanh dừng thì chắc chắn sẽ bỡ ngỡ, khó hỉu rùi đúng không.
-Điểm khác biệt giữa int main() và void main() là:
+int main() Phải trả về giá trị (pải có return)
+void main() không trả về giá trị (không return)
Giải thick lủng củng quá, but mình cố gắng hết sưc rùi đó, cố gằng nhé bạn. Có gì thì bàn luận típ.
-Lưu ý bạn 1 điều nữa là không có giá trị khác với không trả về giá trị nha
+ko có giá trị: tức là pải trả về nhưng ko có
+ko trả về giá trị: tức là ko pải trả về.
OK MAN?
Good luck!
-
31-05-2010, 05:22 PM #7
Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
©Tadius
Nếu như theo lời Bác thì có lẽ thuộc về C nâng cao rùi, có lẽ sẽ giúp ích cho em sau này.
Cám ơn bác đã đóng góp ý kiến!
© cuong89hvktqs
© coba
Cám ơn hai Bác đã đóng góp ý kiến!
Tuy nhiên bác coba có tỉ mỉ hơn một chút.
Mã:Từ đó em đúc kết lại được void main() không phải trả về giá trị, vì mặc định của nó là rỗng. Còn int main() thì phải trả về giá trị thông qua hàm return 0; (Chắc đây là quy ước của C, để thông báo sự kết thúc một cách bình thường của chương trình )
Chỉ thực sự cần thiết khi trong chương trình có một biểu thức toán học phải không?
Nếu không có biểu thức toán học nào thì không cần cũng được phải không?
Ví dụ minh hoạ:
Mã:#include <iostream.h>#include <conio.h> int main(){ cout <<"Toi ghet C++"; getch(); return 0; //Bỏ return đi thì vẫn chạy bình thường}
-
31-05-2010, 06:03 PM #8
Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
ừ nhỉ,giờ bạn nói mình mới để ý.thanks..............
bác nào giải thick đi em nghe với
-
31-05-2010, 06:47 PM #9
Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Cái này hình như Peter đã nói rất nhiều lần và các bạn trên diễn đàn đã thảo luận rất nhiều!
Nếu chủ đề này còn vướng mắc thì Peter cũng repeat lại như sau:
int hàm(....) thì bắt buộc phải có ruturn cho hàm; còn int main() có thể return về bất cứ giá trị nào cũng được hoặc không cần return mà chương trình vẫn cứ chạy! (Tuy nhiên sẽ gặp cảnh báo và chương trình có lúc sẽ bị bug trầm trọng!). int main() thông thường có return 0 là để trả mã "lỗi" cho chương trình là "The operation completed successfully."....Chỉ cần nhớ một số cách làm bài bản như vậy thôi; các bạn đừng có quan tâm quá sâu kẻo những cái cần làm thì lại không làm được;....
Còn vấn đề void main() thì chúng ta không cần return, có lý do là little endian và big endian (có một bài của Icttrack đã đề cập vấn đề này, các bạn tìm đọc).
Chúc vui vẻ....
-
31-05-2010, 07:42 PM #10
Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
void main() mặc định sẽ trả về giá trị 0 cho biến môi trường ERROR_LEVEL khi chương trình của bạn kết thúc.
Mục định trả về ERROR_LEVEL là cho biết trạng thái kết thúc của chương trình của bạn, để sử dụng cho các tập tin BATCH (*.BAT) và COMMAND (*.CMD)...
và trong một số shell khác của Linux.
Còn int main() thì sẽ trả lại mã ERROR_LEVEL bằng statement return "Mã Trả Về"; cái này do người lập trình quy định, tuy nhiên hầu hết các chương trình trả về mã 0 nghĩa là chương trình kết thúc bình thường, không gặp lỗi, với giá trị trả về khác 0 thì chương trình gặp lỗi (do lập trình viên quy định)
khi đề cập đến đội hình MU, không thể ko nói tới một trong các câu lạc bộ bóng đá huyền thoại và với tầm ảnh hưởng nhất trong lịch sử của môn thể thao vua. Với hơn 1 thế kỷ còn đó và phát triển,...
Đội hình MU - Manchester United:...