我们先来看下面的一段代码:
int test()
{
static int a=10;
return a++;
};
int main()
{
int a=test();
int b=test();
printf("a=%d b=%d\n",a,b);
return 0;
}
在这样一段代码当中,test函数中的a变量在每次返回之后都执行了++的的操作,所以返回的结果如下:
我们来对这段代码进行调试,看看到底发生了什么:
当代码走到return的时候a的值还是10
我们继续来执行代码:
我们看到,代码并,没有直接跳出这个函数,而是跳到了这个函数的最后一行,再来看看a的变化:
这个时候a的值已经由原来的10变为了11
通过这个现象,我们不难看出,C语言中当函数走到return之后,函数并不会立刻跳出,而是会对return当行的语句进行完整的执行,之后才跳出这个函数。