#include <stdio.h>
void fn()
{
static int x = 1; //定义静态局部变量
x*=2;
printf("x=%d\n",x);
}
int main()
{
int i;
for(i=0;i<5;i++)
{
fn();
}
extern int x; //调用外部变量
printf("x=%d\n",x);
return 0;
}
int x=100;
结果为 2,4,8,16,32
只求大佬给出这个代码的 运算过程,过程!过程!
恩,谢谢大家给我上了一课,我已经弄明白了
ngyjcbwnmmlnkgeynxrkzuszjrcpeailsvibsrgvdsrvciriqaozyibbduxolbwfwpbvwmwcxtntxzvbdozmsqaofumhmysrdeplhyoucugutcusdafpmtbx
我是这样理解的for()里面肯定循环5次也就有五次输出,而每次调用的是fn函数,就和其他人说的一样,前一次的输出作为后一次输入运行。
都在for循环里了啊,i从1开始,x初值为1,for里调用fn 对x乘2,打印得2,然后i++后为2,继续调用fn函数对2乘2,以此类推