初学者。。
题目是这样的
#include<stdio.h>
void Caculate()
{
static int iSum=3;
int iTemp;
iTemp=iSum; //iSum是静态变量
iSum=iTemp*3;
printf("%d\n",iSum);
}
int main()
{
Caculate(); //得到iSum的平方
Caculate(); //得到iSum的立方
return 0;
}
然后运行结果是
9
27
Press any key to continue
在第二次调用Caculate()函数的时候,不是又重新赋值变量iSum=3了吗,为什么第二次调用的时候,iSum=3没有作用呢?
静态数据区的变量只能初始化一次,所以
static int iSum=3;这条语句只会在第一次调用函数的时候生效,第二次会被忽略。