填空题 以下程序运行后的输出结果是 【5】
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。