c语言读程序写结果又不会了.
来源:学生作业帮 编辑:神马作文网作业帮 分类:综合作业 时间:2024/11/10 14:46:09
c语言读程序写结果又不会了.
#include
void f()
{ static int a=1; int b=1;
a++;b++;
printf("%5d",a+b) ;}
void main()
{ f();f();} 5
#include
void f()
{ static int a=1; int b=1;
a++;b++;
printf("%5d",a+b) ;}
void main()
{ f();f();} 5
static说明a是一个静态变量,它只被执行一次,然后就一直记录着上次的值.
main()中第一次调用f(),进入后a=1,这个是a唯一一次被初始化,b=1,a++,a=2,b++,b=2,a+b=4.打印出来4
第二次调用f(),static int a=1,不会被执行,就是透明的,a保持上次的值也就是2.b=1.a++,a=3,b++,b=2,a+b=5.打印出来5
main()中第一次调用f(),进入后a=1,这个是a唯一一次被初始化,b=1,a++,a=2,b++,b=2,a+b=4.打印出来4
第二次调用f(),static int a=1,不会被执行,就是透明的,a保持上次的值也就是2.b=1.a++,a=3,b++,b=2,a+b=5.打印出来5