Đó là cách chính xác hơn để trở về từ chức năng:Trở về từ một void function
void function() {
// blah some code
}
HOẶC
void function() {
// blah some code
return;
}
Lý do cho Cách thứ hai:
- Nó thể hiện phát triển ý định rõ ràng hơn.
- Nó giúp phát hiện chức năng cuối lúc trước biên dịch:
Giả sử bạn có như vậy scenario- bạn có loạt các chức năng, bạn phải tiêm một số mã vào cuối những chức năng. Nhưng vì một số lý do bạn không muốn/hoặc không thể sửa đổi số lượng lớn các chức năng như vậy. Bạn có thể làm gì về điều đó? Return
& macro
đi vào chơi, ví dụ:
#include<stdio.h>
#define MAX_LINES 1000
#define XCAT(a,b) a##b
#define CAT(a,b) XCAT(a,b)
#define return returns[__LINE__] = 1;\
if (returns[__LINE__])\
{printf("End of function on %d line.\n",__LINE__);}\
int CAT(tmp,__LINE__); \
if ((CAT(tmp,__LINE__)=returns[__LINE__], returns[__LINE__] = 0, CAT(tmp,__LINE__)))\
return
static int returns[MAX_LINES];
void function1(void) {
return;
}
void function2(void) {
return;
}
int main()
{
function1();
function2();
return 0;
}
Câu hỏi thú vị, nhưng đã bỏ phiếu để đóng vì nó quá chủ quan và có thể gây ra xung đột. Có thể tốt hơn cho programmers.stackoverflow.com. Cũng nhớ đọc FAQ. –
Đó là một câu hỏi về phong cách để chèn từ khóa thừa. – stacker
@stacker - những gì là dư thừa cho một tình huống, nó không phải là cho một ... –