我有以下测试程序
#include<stdio.h>
inline int func ()
{
static int a = 10;
a++;
return a;
}
int main()
{
int x,y,z;
x=func();
printf("x is %d\n",x);
y=func();
printf("y is %d\n",y);
z=func();
printf("z is %d\n",z);
return 0;
}
当我跑步时,我得到了 op as
x is 11
y is 12
z is 13
因为内联函数意味着程序员要求编译器在调用函数的每个地方插入完整的函数体,而不是在定义函数的地方生成代码来调用函数。
所以不应该是o/p
x is 11
y is 11
z is 11