Bài 34. Lệnh return và hàm exit trong C

This entry is part 32 of 69 in the series

82

/ 100

This entry is part 32 of 69 in the series Học C Không Khó

Trong bài này, chúng ta sẽ bàn về vai trò của lệnh return và hàm exit trong ngôn ngữ lập trình C. Khi dùng hàm thì chúng ta thường rất hay sử dụng tới lệnh return. Do đó, chúng ta cần nắm rõ được cách lệnh return hoạt động. Hơn nữa, hàm exit sẽ giúp bạn có thể thoát chương trình bất cứ khi nào bạn muốn.

Nếu bạn lần đầu ghé thăm blog, hãy xem bài giới thiệu về khóa học “Học C Bá Đạo” tại đây.

Video hướng dẫn lệnh return và hàm exit()

Ví dụ về lệnh return trong C

  • Lệnh return sẽ thoát khỏi hàm ngay khi hàm gặp nó và tiếp tục trở lại thực thi các dòng code sau lời gọi hàm (nếu có).
  • Lệnh return là của ngôn ngữ C.

0

1

2

3

4

5

6

7

8

9

10

11

12

13

 

#include <stdio.h>

 

int

function

(

)

{

    

int

a

=

5

;

    

return

a

;

    

printf

(

“\na = %d”

,

a

)

;

}

 

int

main

(

)

{

    

int

value

=

function

(

)

;

    

printf

(

“\nExit program…”

)

;

}

 

Kết quả chạy:

0

1

2

3

4

5

 

PS G:\c_cources\day_34> g++ .\ExitCommand.cpp -o .\ExitCommand

PS G:\c_cources\day_34> .\ExitCommand.exe

 

Exit program…

 

Như bạn thấy, hàm function() không thể thực thi dòng lệnh cuối cùng do nó gặp lệnh return và thoát luôn hàm.

Chú ý: Với các hàm có kiểu trả về là void. Bạn dùng lệnh return; và không có giá trị phía sau.

Ví dụ về hàm exit() trong C

  • Hàm exit() có chức năng ngay lập tức kết thúc chương trình.
  • Hàm exit() thực chất là một lời gọi tới hệ điều hành.
  • Bạn cần khai báo thư viện stdlib.h để sử dụng hàm này.

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

 

/*

    Lệnh return

    Lệnh exit()

*/

 

#include <stdio.h>

#include <stdlib.h>

int

function

(

)

{

    

int

a

=

5

;

    

return

a

;

    

printf

(

“\na = %d”

,

a

)

;

}

 

void

foo

(

)

{

    

printf

(

“\nThis is a sentence!”

)

;

    

exit

(

0

)

;

    

printf

(

“\nThis is other sentence!”

)

;

}

 

int

main

(

)

{

    

foo

(

)

;

    

printf

(

“\nExit program…”

)

;

}

 

Kết quả chạy:

0

1

2

3

4

5

 

PS G:\c_cources\day_34> g++ .\ExitCommand.cpp -o .\ExitCommand

PS G:\c_cources\day_34> .\ExitCommand.exe

 

This is a sentence!

 

Nhận thấy, khi gặp hàm exit() thì chương trình của chúng ta dừng luôn. Bạn hãy thử xóa dòng exit() trong hàm foo() để thấy sự khác biệt.

Lưu ý: Dùng lệnh return và hàm exit() trong hàm main() có vai trò tương đương nhau.

Tài liệu tham khảo