【发布时间】:2013-05-09 09:25:33
【问题描述】:
我有以下测试程序
#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
【问题讨论】:
标签: c compiler-construction static inline