#includeint f(int x) { static int y=1; x+=y; y++; return x; } int main(void) { int k; k=f(3); printf("%d %dn",k,f(k)); //%d和%d之间只有1个空格 return 0; } //这题输出的结果是4 6 //说明static定义的y在重新执行static int y = 1;后没有发生值的i变化 //可能是因为static关键字将y定义到了静态存储区 //在静态存储区的值由于某种性质不会轻易地发生变化
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)