以下程序运行后的输出结果是【 】。 fun(int a) { int b=0;static int c=3; b++;c++; return(a+b+c) ; } main() { int

admin2010-05-22  26

问题 以下程序运行后的输出结果是【  】。
    fun(int a)
   {  int b=0;static int c=3;
      b++;c++;
       return(a+b+c) ;
   }
    main()
   {  int i,a=5;
      for(i=0;i<3;i++)printf("%d%d",i,fun(a) );
      prind("\n");
   }

选项

答案10111212

解析 需要注意的是,函数fun()中的变量c为静态局部变量,在静态存储区内分配了存储单元,在程序整个运行期间不会释放,所以调用函数时,只赋初值一次,以后再调用函数时,c中的值为上次调用函数时的值。执行for循环,当i=0时,fun(5)=5+1+4= 10,此时c=4;当i=1时,fun(5)=5+1+5=11,此时c=5;当i=2时,fun(5)=5+1+6 =12;此时c=6:当i=3时,退出for循环,并输出回车换行符。
转载请注明原文地址:https://kaotiyun.com/show/N8Wp777K
0

最新回复(0)