单选题有以下程序:#include int fun(int n){ static int t=1; int i=1; for(;i=n;i++)t*=i; return t;}main(){ int t=1,i; for(i=2;i4;i++)  t+=fun(i); printf(%d,t);}程序的运行结果是(  )。A8B11C15D4

单选题
有以下程序:#include int fun(int n){ static int t=1; int i=1; for(;i<=n;i++)t*=i; return t;}main(){ int t=1,i; for(i=2;i<4;i++)  t+=fun(i); printf(%d,t);}程序的运行结果是(  )。
A

8

B

11

C

15

D

4


参考解析

解析:
static变量又称为静态变量,编译时,将其分配在内存的静态存储区中,在整个程序运行期间都不释放这些存储单元,即使退出函数,下次再进入该函数时,静态局部变量仍使用原来的存储单元,值是上一次函数调用结束时的值。程序执行过程为:执行for循环,i=2,t=1,调用函数fun(2),定义静态局部变量t=1,此变量的作用域为函数fun中,定义局部变量i=1,for循环实现t=1×1×2=2,返回2,主函数中t=1+2=3;当i=3时,t=3,调用函数fun(3),静态局部变量上次调用后结果t=2,局部变量i=1,for循环实现t=2×1×2×3=12,返回12,t=3+12=15。最后输出t为15,答案选择C选项。

相关考题:

有以下程序int a=4;int f(int n){ int t=0; static int a=5;if(n%2) {int a=6; t+=a++;}else {int a=7 ;t +=a++ ; }return t+a++ ;}main( ){ int s=a , i=0 ;for( ; i 〈 2 ; i++) s+=f(i);printf ("%d\n",s);}程序运行后的输出结果是A)24B)28C)32D)36

有以下程序#include stdio.hvoid fun(int a[], int n){ int i,t;for(i=0;in/2;i++) { t=a[i]; a[i]=a[n-1-i]; a[n-1-i]=t; }}main(){ int k[10]={1,2,3,4,5,6,7,8,9,10},i;fun(k,5);for(i=2;i8;i++) printf("%d",k[i]);printf("\n");}程序的运行结果是A)345678B)876543C)1098765D)321678

有以下程序 int a=4; int f(int n) {int t=0; static int a=5; if(n%2) {int a=6; t+=a++;} else {int a=7 ;t+=a++;} return t+a++; } main() {int s=a,i=0; for(;i〈2;i++) s+=f(i); printf (“%d\\n”,s); }程序运行后的输出结果是( )。A.24B.28C.32D.36

以下程序的输出结果是 【 11 】 。#include stdio.hint fun(int x){ static int t=0;return(t+=x);}main(){ int s,i;for(i=1;i=5;i++) s=fun(i);printf("%d\n",s);}

有以下程序 void fun(int*a,int i,int j) { int t; if(i<j) { t=a[i];a[i]=a[j];a[j]=t; i++; j--; fun(a,i,j); } } main() { int x[]={2,6,1,8},i; fun(x,0,3); for(i=0;i<4;i++) printf("%2d",x[i]); printf("\n"); } 程序运行后的输出结果是A.1 2 6 8B.8 6 2 1C.8 1 6 2D.8 6 1 2

有以下程序:includeint a=4;int f(int n){int t=0;static int a=5;if(n%2) {int a=6; 有以下程序: #include<string.h> int a=4; int f(int n) {int t=0;static int a=5; if(n%2) {int a=6;t++=a++;} else{int a=7;t+=a++;} return t+a++; } main() {int s=a,i=0; for(;i<2;i++)s+=f(i); printf("%d\n",s); } 程序运行后的输出结果是( )。A.24B.28C.32D.36

以下程序的运行结果是______。includemain(){ int fun();fun();}fun(){static int a[3]= 以下程序的运行结果是______。include<stdio.h>main(){ int fun();fun();}fun(){static int a[3]={0,1,2};int i;for(i=0;i<3;i++)a[i]+=a[i];for(i=0;i<3;i++)printf("%d,",a[i]);pfintf("\n",);}

以下程序的输出结果是______。 fun(int *s,int *p) { static int t=3; *p=s[t]; t--; } main() { int str[]={1,2,3,4},i,m=0; for(i=0;i<4;i++) {fun(str,m); printf("%d",m); } printf("\n"); }A.0B.444412C.1234D.4321

有以下程序: void fun(int *a,int i,int i) { int t; if(i<j) { t==a[i];a[i]=a[j];a[i]=t; i++; j--; fun(a,i,j); } } main() { int x[]={2,6,1,8),i; fun(x,0,3), for(i=0;i<4;i++) printf("%2d",x[i]); printf("\n"); } 程序运行后的输出结果是( )。A.1268B.8621C.8162D.8612

有以下程序: int a=2; int f(int n) { static int a=3; int t=0; if(n % 2)(static int a=4; t+=a++;} else{static int a=5; t+=a++;} return t+a++; } matin() { int s=a, i; for(i=0; i<3; i++)s+=f(i); printf("% d\n", s); } 程序运行后的输出结果是______。A.26B.28C.29D.24

有以下程序: int a=2; int f(int n) {static int a=3; int t=0; if(n%2){static int a=4;t+=a++; } else {static int a=5; t+=a++; } return t+a++; } main() { int s=a,i; for(i=0;i<3;i++) s+=f(i); printf("%d\n",s); } 程序运行后的输出结果是 ______。A.26B.28C.29D.24

以下程序运行后的输出结果是()。includevoid reverse(int a[],int n){int i,t;for(i=0; 以下程序运行后的输出结果是( )。 #include<stdio.h> void reverse(int a[],int n) {int i,t; for(i=0;i<n/2;i++) {t==a[i];a[i]=a[n-1-i];a[n-1-i]=t;} } main() {int b[10]={10,9,8,7,6,5,4,3,2,1};int i,s=0; reverse(b,10); for(i=0;i<3;i++)s+=b[i]; printf("%d\n",s); }A.27B.6C.25D.30

以下程序的输出结果是【 】。include int fun(int x) {static int t=0; return(t+=x); } 以下程序的输出结果是【 】。include <stdio.h>int fun(int x){ static int t=0;return(t+=x);}main()int s,i;for(i=1 ;i<=5;i++) s=fun(i);printf("%d\n",s);

有以下程序:include void fun(iht * a,int i,int j){int t;if(i 有以下程序:#include <stdio, h>void fun(iht * a,int i,int j){ int t; if(i < j) { t=a[i];a[i] =a[j] ;a[j]=t; i++;j--; fun(a,i,j);main ( ) int x[ ]: {2,6,1,8} ,i; fun(x,0,3); for( i=0;i <4;i ++ ) printf( "%2d" ,x[i] ); printf(" \n");A.1268B.8621C.8162D.8612

以下程序的输出结果是( )。 void fun(int*a,int i,int i) {int t; if(ii) { t=a[i[;a[i]=a[j];a[j]一t; i++;j--;fun(a,i,j); } } main { int K[]={2,6,1,8},i; fun(x,0,3); for(i=0;i1;i++)printf("%2d",x[i]); printf("\n"); }A.1,2,6,8B.8,6,2,1C.8,1,6,2D.8,6,1,2

有以下程序 include void fun(int a[],int n) { int i,t; for(i=0; 有以下程序 #include <stdio.h> void fun(int a[],int n) { int i,t; for(i=0;i<n/2;i++) {t=a[i]; a[i]=a[n-1-i]; a[n-1-i]=t;} } main() {int k[10]={1,2,3,4,5,6,7,8,9,10},i; fun(k,5); for(i=2;i<8;i++) printf("%d",k[i]); printf("\n"); } 程序的运行结果是______。A.345678B.876543C.1098765D.321678

有下列程序: include void fun(int * s,int n1,int n2) { int i,j, 有下列程序: #include <stdio.h> void fun(int * s,int n1,int n2) { int i,j,t; i=n1;j=n2; while(i<j){t=s[i];s[i]=s[j];s[j]=t;i++;j--;} } main() { int a[10]={1,2,3,4,5,6,7,8,9,0},k; fun(a,0,3); fun(a,4,9);fun(a,0,9); for(k=0;k<10;k++)printf("%d",a[k]);printf("\n"); } 程序的运行结果是( )。A.987654321B.4321098765C.5678901234D.987651234

以下程序的输出结果是()。includevoid reverse(int a [],int n){int i,t; for(i=0;i 以下程序的输出结果是( )。 #include <stdio.h> void reverse(int a [],int n) { int i,t; for(i=0;i<n/2;i++) { t=a[i]; a[i]=a[n-1 -i];a[n-1-i] =t;} } main() { int b[10]={1,2,3,4,5,6,7,8,9,10};int i,s=0; reverse(b,8); for(i=6;i<10;i++)s+=b[i]; printf("%d\n",s); }A.22B.10C.34D.30

有以下程序 void fun(int *a,int i,int j) { int t; if (i<j) { t=a[j]; a[i]=a[j]; a[j]=t; i++; j--; fun(a,i,j); } } main() { int x[]={2,6,1,8},i; fun(x,0,3); for(i:0;i<4;i++) printf("%2d",x[i]); } 程序运行后的输出结果是______。A.1 2 6 8B.8 6 2 1C.8 1 6 2D.8 6 1 2

有以下程序: include int a =2;int f(int n){ static int a: 3;intt=0;if(n%2){ stat 有以下程序: #include <stdio, h>int a =2;int f(int n){ static int a: 3; int t=0; if(n%2){ static int a=4;t+ =a++;} else { static int a=5;t+ :a++;} return t + a + +;main ( ){ int s=a,i; for(i=0;i<3;i++)s + =f(i); prinff("% d \n" ,s); }程序运行后的输出结果是( )。A.26B.28C.29D.24

有以下程序 int a=2; int f(int n) { static int a=3; int t=0; if(n%2) {static int a=4; t+=a++;} else {static int a=5; t+=a++;} return t+a++; } main ( ) { int s=a, i; for (i=0;i<3; i++) s+=f (i) print f ("%d\n" , s ); } 程序运行后的输出结果是A.26B.28C.29D.24

有以下程序#include stdio.hvoid fun(int *s,int n1,int n2){ int i,j,t;i=n1; j=n2;while(ij) {t=s[i];s[i]=s[j];s[j]=t;i++;j--;}}main(){ int a[10]={1,2,3,4,5,6,7,8,9,0},k;fun(a,0,3); fun(a,4,9); fun(a,0,9);for(k=0;kl0;k++)printf("%d",a[k]); printf("\n");}程序的运行结果是A.0987654321B.4321098765C.5678901234D.0987651234

有以下程序includevoidfun(int*s,intn1,intn2){inti,j,t; i=n1j=n2; while(i 有以下程序 #include <stdio.h> void fun(int *s,int n1,int n2) { int i,j,t; i=n1 j=n2; while(i<j) {t=s[i];s[i]=s[j];s[j]=t;i++;j--;} } main() { int a[10]={1,2,3,4,5,6,7,8,9,0},k; fun(a,0,3); fun(a,4,9); fun(a,0,9); for(k=0;k<10;k++)printf("%d",a[k]); printf("\n"); } 程序的运行结果是A.987654321B.4321098765C.5678901234D.987651234

有以下程序: void fun(int *a,int i,int j) { int t; if(i<j) { t=a[i];a[i]=a[j];a[j]=t; i++; j--; fun(a,ij); } } main() { int x[]={2,6,1,8},i; fun(x,0,3); for(i=0;i<4;i++) printf("%2d",x[i]); printf("\"n); } 程序运行后的输出结果是( )。A.1 2 6 8B.8 6 2 1C.8 1 6 2D.8 6 1 2

单选题有以下程序:#include void fun(int a[],int n){ int i,t; for(i=0;i {  t=a[i];  a[i]=a[n-1-i];  a[n-1-i]=t; }}main(){ int k[10]={1,2,3,4,5,6,7,8,9,10},i; fun(k,5); for(i=2;i printf("");}程序运行的结果是(  )。A345678B876543C1098765D321678

单选题有以下程序#include int a=4;int f(int n){ int t=0; static int a=5; if(n%2) {  int a=6;  t+=a++; } else {  int a=7;  t+=a++; } return t+a++;}main(){ int s=a,i=0; for(;i2;i++)s+=f(i); printf(%d,s);}程序运行后的输出结果是(  )。A36B24C32D28

单选题有以下程序#include int f(int n){ int t=0,a=5; if(n/2) {  int a=6;  t+=a++; } else {  int a=7;  t+=a++; } return t+a++;}main(){ int s=0,i=0; for(;i2;i++)s+=f(i); printf(%d,s);}程序运行后的输出结果是(  )。A36B28C32D24