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

admin2013-02-23  19

问题 以下程序运行后的输出结果是【  】。
   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()函数中使用的a是其自身定义的静态局部变量a,所以算术运算中a+=b++相当于a=a+b,b=b+1结果为 10+20=30。所以,在fun()函数中的printf("%d ",a)输出结果为30。而主函数中使用的a是全局变量a,所以算术运算中a+=c++相当于a=a+c,c=c+1结果为5+20=25。所以,主函数中的printf("%d\n",a)输出的结果为25。故最终输出结果是30  25。
转载请注明原文地址:https://kaotiyun.com/show/QePp777K
0

最新回复(0)