返回函数的更正确方式是:
void function() {
// blah some code
}
或者
void function() {
// blah some code
return;
}
第二条道路的理由:
假设你有这样的场景-你有一堆的函数,你必须在这些函数的末尾注入一些代码。但是由于某些原因,您不希望/或不能修改如此大量的函数。你能做什么?Return
和 macro
开始发挥作用,例如:
#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;
}