有以下程序: #include int fun() { static int x=2; return x+=1: } void main() { int i,s=0; for(i=1;i<=5;i++)s+=fun(); printf(’’%d\n’’,

admin2021-04-28  11

问题 有以下程序:
#include
int fun()
{
static int x=2;
return x+=1:
}
void main()
{
int i,s=0;
for(i=1;i<=5;i++)s+=fun();
printf(’’%d\n’’,s);
}
程序运行后的输出结果是(  )。

选项 A、25
B、11
C、15
D、20

答案A

解析 静态变量只在初次定义时赋初值,以后使用时将调用其之前的值;主函数的循环体执行5次,进行s的叠加,每次叠加为子函数的返回值,所以结果为0+(2+1)+(3+1)+(4+1)+(5+1)+(6+1)=25。
转载请注明原文地址:https://jikaoti.com/ti/Tmz0FFFM
0

最新回复(0)