请教高手!
int f(){
static int i=0;
int s=1;
s+i;i++;
return s;
}
main()
{int i,a=0;
for(i=0;i<5;i++) a+=f()
printf("%d\n",a)
}
这个是怎么循环的呀,看不懂!每次i 和S 得知怎么算?
搜索更多相关的解决方案:
return
----------------解决方案--------------------------------------------------------
f()函数中static int i;i定义为静态函数内部变量,不受主函数中的i影响,并且只初始化一次,在整个程序运行期间,一直占据着固定的内存,
例第一次调用f(),i值为0,然后i++,变为1,然后第二次调用,i并没有重新初始化,值仍为1,i++后就为2,依此。。。。
还有这里s+i;LZ是不是写错了,应为s+=i;
----------------解决方案--------------------------------------------------------