目录: 标题| 题干| 答案| 搜索| 相关
问题

以下程序的输出结果是______。 int f() { static int


以下程序的输出结果是______。 int f() { static int i=0; int s=1; s+=i; i++; return s; } main() { int i, a=0; for(i=0; i<5; i++) a+=f(); printf("% d ", a);

  • A20
  • B24
  • C25
  • D15
参考答案
参考解析:

解析:函数f中变量i为静态变量,函数f调用结束后变量i所占据的存储单元不会释放,而在主函数中f被调用5次,具体过程如下:  第1次调用f:s=s+i=1+0=1,i=i+1=1,主函数中a=a+f()=0+1=1  第2次调用f:s=s+i=1+1=2,i=i+1=2,主函数中a=a+f()=1+2=3  第3次调用f:s=s+i=1+2=3,i=i+1=3,主函数中a=a+f()=3+3=6  第4次调用f:s=s+i=1+3=4,i=i+1=4,主函数中a=a+f()=6+4=10  第5次调用f:s=s+i=1+4=5,i=i+4=5,主函数中a=a+f()=10+5=15  所以printf语句的输出结果为15。

分类:其他
相关推荐

1、下面程序的输出是______。 main() {int k=11; prin

下面程序的输出是______。 main() {int k=11; printf("k=%d,k=%o,k=%x ",kkk); }Ak=11,k=12,k=11Bk=11,k=13,k=13Ck=11,k=013,k=0xbDk=11,k=13,k=B

2、以下程序的输出结果是______。 main() {int a=3; pri

以下程序的输出结果是______。 main() {int a=3; printf("%d ",(a+=a-+a*a) ) }A-6B1C2D-12

3、下列程序执行后的输出结果是_______。 main() { int m[]

下列程序执行后的输出结果是_______。 main() { int m[][3]={1,4,7,2,5,8,3,6,9}; int i,k=2; for(i=0;i<3;i++) {printf("%d",m[k][i]);} }A456B258C369D789

4、下列程序执行后输出的结果是_______。 int d=1; fun(int

下列程序执行后输出的结果是_______。 int d=1; fun(int p), { int d=5; d+=p++; printf("%d,",d) } main() { int a=3; fun(a) ; d+=a++; printf("%d "d) ; }A8,12B9,13C8,4D9,5

5、下列程序执行后的输出结果是______。 main() { int m[][

下列程序执行后的输出结果是______。 main() { int m[][3]={1,4,7,2,5,8,3,6,9} int i,k=2 for(i=0;i<3;i++) {print("%d",m[k][i]);} }A456B258C369D789

6、下列程序的输出结果是______。 main() { int i=3; sw

下列程序的输出结果是______。 main() { int i=3; switch(i) { case 1: case2:printf ("%d",i) case3: case4:break; default:printf("OK"); } }A0B3COKD没有任何输出