填空题 以下程序运行后的输出结果是{{U}} 【5】 {{/U}}。 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); }
  • 1、
【正确答案】 1、30 25    
【答案解析】[解析] C语言规定如果全局变量与局部变量同名,在局部变量的作用域内全局变量不起作用。调用函数fun(c)时,在 fun内部局部变量a起作用,即a=10,执行语句a+=b++得a=a+b++=a+b=10+20=30,执行printf语句输出30;在main函数内执行语句a+=c++;时,a是全局变量,值为5,因此a=a+c=5+20=25,执行printf语句输出为25。