以下程序运行后的输出结果是【 】 int a=5;   fun(int b)   { static int a=10;    a+=b++;    printf("%d ",a);   }   main( )   { int c=20;    fun(c)

admin2005-08-15  24

问题 以下程序运行后的输出结果是【 】
int a=5;
  fun(int b)
  { static int a=10;
   a+=b++;
   printf("%d ",a);
  }
  main( )
  { int c=20;
   fun(c);
   a+=c++;
   printf("%d\n",a);
  }

选项

答案30 25

解析 当调用fun()时把c的值传给形参b,在执行子函数fun()中的a+=b++时,实际上静态变量a起作用,因此a的值变为30,然后回到主函数,执行a+=c++,此时起作用的是外部变量a,因此外部变量a的值由5变为25。
转载请注明原文地址:https://kaotiyun.com/show/ziHp777K
0

最新回复(0)