int iTemp;iTemp=iSum;这个可以直接省略了,改成static int iSum=3;iSum=iSum*3;我把你的程序改了一下代码如下:#include<stdio.h>void Caculate(){ static int iSum=3;iSum=iSum*3;printf("%d\n",iSum);} int main(){ Caculate();Caculate();return 0;} ---main函数两次调用函数Cacul...
static 关键字声明的变量,在内存中只保存一份,变量保存到静态内存区,因此连续调用函数, static变量的值就发生改变。