Return c++ là gì

ví dụ xem xét mã sau

int main(int argc,char *argv<>) if (q == 0) return 0; }

những gì trả về 0, trả về 1, thoát (0) làm gì trong chương trình trên … . 

return từ main() tương đương với exit

chương trình chấm dứt thực thi ngay lập tức với trạng thái thoát được đặt làm giá trị được truyền cho return hoặc exit

return trong một hàm bên trong (không phải main) sẽ chấm dứt ngay việc thực thi hàm cụ thể trả về kết quả đã cho cho hàm gọi.

Đang xem: Return 0 là gì

exit từ bất cứ nơi nào trên mã của bạn sẽ chấm dứt thực hiện chương trình ngay lập tức.

trạng thái 0 có nghĩa là chương trình đã thành công.

trạng thái khác 0 có nghĩa là chương trình đã thoát do lỗi hoặc bất thường.

Nếu bạn thoát với trạng thái khác 0, bạn phải in một thông báo lỗi thành stderr vì vậy thay vì sử dụng printf thì tốt hơn là như

if(errorOccurred)

lưu ý rằng (tùy thuộc vào hệ điều hành bạn đang bật), có một số quy ước về mã trả lại.

Google cho "mã trạng thái thoát" hoặc tương tự và bạn sẽ tìm thấy nhiều thông tin trên SO và các nơi khác.

Đáng nói là hệ điều hành có thể chấm dứt chương trình của bạn bằng các mã trạng thái thoát cụ thể nếu bạn cố thực hiện một số thao tác không hợp lệ như đọc bộ nhớ mà bạn không có quyền truy cập.

23

Như đã giải thích ở đây , trong ngữ cảnh của main cả return và exit làm điều tương tự

H: Tại sao chúng ta cần return hoặc exit?

A: Để chỉ trạng thái thực thi.

Trong ví dụ của bạn ngay cả khi bạn không có câu lệnh return hoặc exit, mã sẽ chạy tốt (Giả sử mọi thứ khác đều đúng về mặt cú pháp, v.v. cũng đúng. Ngoài ra, nếu (và nó phải là) main trả về int bạn cần return 0 ở cuối).

Nhưng, sau khi thực hiện, bạn không có cách nào để tìm hiểu xem mã của bạn có hoạt động như mong đợi không. Bạn có thể sử dụng mã trả về của chương trình (Trong môi trường * nix, sử dụng $?) cung cấp cho bạn mã (như được đặt bởi exit hoặc return). Vì bạn tự đặt các mã này, bạn hiểu tại thời điểm mã đạt được trước khi kết thúc.

Bạn có thể viết return 123 trong đó 123 biểu thị thành công trong kiểm tra thực hiện bài.

Thông thường, trong các môi trường * nix 0 được coi là thành công và mã khác không là thất bại.

Xem thêm: Hàm Vlookup Là Gì – Hàm Vlookup Trong Excel

return trong chức năng trả về thực thi trở lại cho người gọi và exit từ chức năng chấm dứt chương trình.

trong main function return 0 hoặc exit(0) giống nhau nhưng nếu bạn viết exit(0) trong chức năng khác thì chương trình của bạn sẽ thoát khỏi vị trí đó.

trả về các giá trị khác nhau như return 1 hoặc return -1 có nghĩa là chương trình đó đang trả về lỗi.

Khi exit(0) được sử dụng để thoát khỏi chương trình, các hàm hủy cho các đối tượng không tĩnh trong phạm vi cục bộ không được gọi. Nhưng các hàm hủy được gọi nếu return 0 được sử dụng.

Để chỉ trạng thái thực thi.

trạng thái 0 có nghĩa là chương trình đã thành công.

trạng thái khác 0 có nghĩa là chương trình đã thoát do lỗi hoặc bất thường.

trả về n; từ chức năng nhập chính của bạn sẽ chấm dứt quy trình của bạn và báo cáo cho quy trình chính (quy trình thực hiện quy trình của bạn) kết quả của quy trình của bạn. 0 có nghĩa là THÀNH CÔNG. Các mã khác thường chỉ ra một thất bại và ý nghĩa của nó.

return n từ main tương đương với exit(n).

Trả về hợp lệ là phần còn lại của chương trình của bạn. Đó là ý nghĩa của hệ điều hành. Trên unix, 0 có nghĩa là chấm dứt bình thường và khác không cho thấy hình thức lỗi đó buộc chương trình của bạn chấm dứt mà không hoàn thành mục đích dự định.

Xem thêm: Màu Trung Tính Là Gì – Cách Sử Dụng Dễ Dàng Nhất

Thật bất thường khi ví dụ của bạn trả về 0 (chấm dứt bình thường) khi nó dường như đã hết bộ nhớ.

Sự khác biệt giữa việc sử dụng _exit () và exit () trong một trình xử lý rẽ nhánh Linux thông thường là gì?

Trả về chuỗi từ hàm C

Trả về char <>/chuỗi từ một hàm

Làm thế nào tôi có thể đóng ngay một chương trình trong C?

Vậy "return 0" thực sự có nghĩa là gì?

Biên dịch một ứng dụng để sử dụng trong môi trường phóng xạ cao

Làm thế nào để làm việc với chúng tôi

Sử dụng các giá trị boolean trong C

"Tĩnh" có nghĩa là gì trong C?

Làm thế nào để tạo một int ngẫu nhiên trong C?

Size_t trong C là gì?

Làm cách nào tôi có thể nhận danh sách các tệp trong thư mục bằng C hoặc C++?

makefile: 4: *** thiếu dấu phân cách. Dừng lại

Trong tập lệnh Bash, làm cách nào tôi có thể thoát toàn bộ tập lệnh nếu một điều kiện nhất định xảy ra?

Làm cách nào để tạo "spacer" trong cấu trúc bộ nhớ lớp C++?

Cái nào nhanh hơn: while (1) hay while (2)?

Có một công cụ chuyển đổi printf để in ở định dạng nhị phân?

Làm cách nào để tạo một chuỗi các chuỗi trong C?

"const const" so với "#define" vs "enum"

Ngăn chặn cửa sổ giao diện điều khiển đóng trên ứng dụng Bảng điều khiển Visual Studio C/C++

Content dated before 2011-04-08 (UTC) is licensed under CC BY-SA 2.5. Content dated from 2011-04-08 up to but not including 2018-05-02 (UTC) is licensed under CC BY-SA 3.0. Content dated on or after 2018-05-02 (UTC) is licensed under CC BY-SA 4.0. | Privacy

Khóa học Lập trình Lập trình C++ Khóa học lập trình C++ căn bản Cơ bản về Hàm và Giá trị trả về (Basic of functions and return values)

Dẫn nhập

Ở bài học trước, bạn đã nắm được tổng quan về ép kiểu dữ liệu và kỹ thuật ÉP KIỂU TƯỜNG MINH TRONG C++ (Explicit type conversion).

Đang xem: Return 0 trong c++ là gì

Hôm nay, mình sẽ giới thiệu cho các bạn về Cơ bản về Hàm và Giá trị trả về (Basics of Functions and Return values), một phần không thể thiếu trong hầu hết các ngôn ngữ lập trình.

Nội dung

Để đọc hiểu bài này tốt nhất các bạn nên có kiến thức cơ bản về các phần:

Trong bài ta sẽ cùng tìm hiểu các vấn đề:

Tổng quan về hàm (functions overview)Giá trị trả về (return values)Giá trị trả về của kiểu void (return values of type void)

Tổng quan về hàm (functions overview)

Giả sử có một chương trình yêu cầu tính tuổi của người dùng với năm sinh được nhập từ bàn phím.

#include using namespace std;int main(){int year;cout > year;int age = 2016 – year;cout Outputs:

Return c++ là gì
Lệnh Return 0 Trong C++ Là Gì ? Return 0,Return 1 Là Gì 4

Chương trình bên trên dùng để tính tuổi của 1 người. Giả sử bây giờ bài toán cần được mở rộng thêm, yêu cầu tính tuổi của 3 người.

Vấn đề phát sinh từ đây, bạn phát hiện ra mình phải lặp lại những dòng code tương tự bên trên để tính tuổi cho 2 người tiếp theo. Dẫn đến tình trạng trùng lắp codemất nhiều thời gian xây dựng chương trình. Để khắc phục vấn đề đó, khái niệm Hàm (Function) trong lập trình được ra đời.

Hàm (function) là một dãy các câu lệnh có thể tái sử dụng, được thiết kế để thực hiện một công việc cụ thể trong chương trình.

Cú pháp của hàm trong C++:

Xem thêm:   Quản lý công là gì?

(<>){ <return ;>}

Trong đó:

: kiểu bất kỳ của C++ (bool, char, int, double,…). Nếu không trả về thì là void.: theo quy tắc đặt tên định danh.: tham số hình thức đầu vào giống khai báo biến, cách nhau bằng dấu phẩy “,”. (Có thể không có): trả về cho hàm qua lệnh return. (Có thể không có)

Ở bài CẤU TRÚC MỘT CHƯƠNG TRÌNH C++ (Structure of a program), bạn đã biết mỗi chương trình C++ đều có một hàm tên là main(), hàm này là nơi bắt đầu của chương trình. Trong thực tế, một chương trình thường sẽ có rất nhiều hàm bên trong.

Ví dụ về chương trình đơn giản có 2 hàm: main() và sayHello()

#include using namespace std;// Definition of function sayHello()void sayHello() // sayHello() is the called function in this example{cout Outputs:

Return c++ là gì
Lệnh Return 0 Trong C++ Là Gì ? Return 0,Return 1 Là Gì 5

Chương trình sẽ thực thi các câu lệnh một cách tuần tự bên trong một hàm. Khi gặp một lời gọi hàm, CPU sẽ gián đoạn hàm hiện tại để thực thi các câu lệnh bên trong hàm được gọi. Khi hàm được gọi kết thúc, CPU sẽ lại tiếp tục thực thi hàm hiện tại.

Chú ý: Hàm có thể được gọi nhiều lần trong một chương trình (tính tái sử dụng), và bất kỳ hàm nào cũng đều có thể gọi hàm khác.

Hiện tại, bạn nên đặt hàm main()vị trí cuối cùng trong file code của chương trình. Lý do tại sao sẽ được đề cập cụ thể trong bài TIỀN KHAI BÁO & ĐỊNH NGHĨA HÀM (Forward declarations and Definitions of Functions).

Giá trị trả về (return values)

Ở bài CẤU TRÚC MỘT CHƯƠNG TRÌNH C++ (Structure of a program), bạn đã biết hàm main() có kiểu int nên bắt buộc phải có một câu lệnh return giá trị kiểu int. Khi chương trình thực thi kết thúc, hàm main() sẽ return một giá trị cho hệ điều hành, để thông báo là nó chạy thành công hay không.

Xem thêm:   Tổng Hợp Các Bản Văn Hoàng Bảy, Lời Văn Ông Hoàng Bảy Lên Đất Bảo

Xem thêm: 3 Bài Văn Khấn Ngày Giỗ, Bài Cúng Giỗ Ông Bà, Bố Mẹ Chuẩn Nhất

Khi tạo ra một hàm mới, tùy vào mục đích của hàm mà bạn có thể quyết định hàm đó có trả về một giá trị nào đó hay không.

Để tạo ra một hàm có giá trị trả về, bạn cần:

Thiết lập kiểu trả về trong định nghĩa của hàmSử dụng câu lệnh return để trả về một giá trị.

Chú ý:Khi gặp câu lệnh return, hàm sẽ trả về giá trị ngay tại thời điểm đó. Tất cả câu lệnh trong hàm, sau dòng lệnh return sẽ được bỏ qua.

Ví dụ về chương trình có hàm trả về một số nguyên:

#include using namespace std;// int means the function returns an integer value to the callerint return69(){// this function returns an integer, so a return statement is neededreturn 69; // we”re going to return integer value 69 back to the caller of this function}int main(){cout Outputs:

Return c++ là gì
Lệnh Return 0 Trong C++ Là Gì ? Return 0,Return 1 Là Gì 6

Hàm có giá trị trả về có thể đặt riêng biệt, hoặc bên trong một biểu thức như ở ví dụ trên.

Một câu hỏi thường được hỏi là: “Hàm có thể trả về nhiều giá trị thông qua câu lệnh return?”.Câu trả lời là không. Khi sử dụng câu lệnh return,hàm chỉ có thể trả về một giá trị duy nhất.

Tuy nhiên, bạn có thể sử dụng phương pháp truyền tham chiếu hoặc truyền địa chỉ cho hàm để có thể lấy được nhiều giá trị:

Phương pháp truyền địa chỉ (con trỏ) sẽ được hướng dẫn trong bài: TRUYỀN ĐỊA CHỈ CHO HÀM (Passing arguments by address).

Giá trị trả về của kiểu void (return values of type void)

Những hàm có mục đích tính toán thường sẽ return một giá trị khi kết thúc hàm. Đối với những hàm không có mục đích tính toán (Vd: hàm setter, hàm print, …), C++ hỗ trợ sử dụng kiểu dữ liệu void cho những hàm không có giá trị trả về.

Xem thêm:   Nốt ruồi ở sau gáy phụ nữ và đàn ông có nghĩa gì? tốt hay xấu?

#include using namespace std;// void means the function does not return a value to the callervoid sayHello(){cout Outputs: “binary 'sayHello() có kiểu void nên sẽ không trả về giá trị. Nên compiler sẽ thông báo lỗi không thể in giá trị của hàm sayHello() ra màn hình trong lần gọi hàm thứ 2.

Chú ý:

Hàm có kiểu void sẽ không có giá trị trả về.Có thể sử dụng câu lệnh return trong hàm void để kết thúc hàm ngay lập tức.

Kết luận

Qua bài học này, bạn đã nắm được Cơ bản về Hàm và Giá trị trả về (Basics of Function and Return values) trong C++. Mình tóm tắt lại một số nội dung quan trọng các bạn cần nắm:

Hàm có thể được gọi nhiều lần trong một chương trình (tính tái sử dụng).Khi gặp câu lệnh return, hàm sẽ trả về giá trị ngay tại thời điểm đó. Tất cả câu lệnh trong hàm, sau dòng lệnh return sẽ được bỏ qua.Hàm có kiểu void sẽ không có giá trị trả về.

Ở bài tiếp theo, mình sẽ chia sẻ cho các bạn về kỹ thuật TRUYỀN GIÁ TRỊ TRONG C++ (Passing Arguments by Value in C++).

Xem thêm: bài cúng giao thừa năm 2021 chuẩn

Cảm ơn các bạn đã theo dõi bài viết. Hãy để lại bình luận hoặc góp ý của mình để phát triển bài viết tốt hơn. Đừng quên “Luyện tập – Thử thách – Không ngại khó”.