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

计算机 程序 已帮助 人

以下程序运行后的输出结果是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 ",a);}

热搜:下面程序的功能是输出数组s中最大元素

答案解析

难度★★☆ 搜索
  • 参考答案:30,25在本题中,程序首先定义了一个整型全局变量a,全局变量的作用域为整个程序。然后定义了一个fun函数,函数带有一个整型变量作为形参,在函数体中,首先定义了一个静态变量a,与全局变量a同名,在这种情况下,在函数fun中静态变量a具有更高的使用优先级,而在主函数中,全局变量a具有更高的使用优先级。在主函数中,首先定义一个整型变量c并初始化为20,然后调用fun函数,将变量c作为实参传递给函数,执行a+=b++,等价于a=a+(b++)=10+20=30,然后执行输出语句,输出变量a的结果“30,”,然后程序回到主函数中的a+=c++;语句执行,此语句等价于a=a+(c++)=5+20=25,然后输出变量a的结果25。因此,本题的程序运行后的输出结果是30,25。