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

若有程序 fun(int a,int b) { static int c=0


若有程序 fun(int a,int b) { static int c=0 c+=a+b; retum c; } main () { int x=5,y=3,z=7,r; r=fun((y,x+y),z); r=fun(x,y); printf("%d ",r); } 上面程序的输出结果______。

  • A23
  • B15
  • C19
  • D18
参考答案
参考解析:

解析:static 声明的外部变量只限于被本文件引用,而不能被其他文件引用 static来声明—个变量的作用有:①对局部变量用 static声明,则为该变量分配的空间在整个程序执行期间始终存在;②全部变量用static声明,则该变量的作用域只限于本文件模块(即被声明的文件中)。调用第—个fun,其两个实参的值为(3,5+3)与7即8与7,在函数fun执行结束返回15。第二次调用fun时,由于static为静态类型,其值保留,执行fun(5,3)后,其返回值为23,故选A。

分类:其他
相关推荐

1、有以下程序 fun(int a,int b) { if(a>b) retur

有以下程序 fun(int a,int b) { if(a>b) return(a) ; else return(b) ; } main() { int x=3,y=8,z=6,r; r=fun(fun(x,y),2*z); Printf("%d ",r); } 程序运行后的输出结果是A3B6C8D12

2、若有程序: fun(int a,int b) { static int c=

若有程序: fun(int a,int b) { static int c=0; c+=a+b: return c; } main() { int x=5,y=3,z=7,r; r=fun((y,x+y),z); r=fun(x,y); printf("%d ",r); } 上面程序的输出结果是______。A23B15C19D18

3、有如下程序段void fun(int *a, int *b){ int *k

有如下程序段void fun(int *a, int *b){ int *k; k=a; a=b; b=k;}main(){ int a=3, b=6, *x=&a, *y=&b; fun(x,y); printf("%d %d", a, b);} 程序运行后输出的结果是A.6 3 B.3 6 C.编译出错 D.0 0A6 3 B3 6 C编译出错 D0 0

4、有以下程序void fun(int a,int b,int c){ a=45

有以下程序void fun(int a,int b,int c){ a=456,b=567,c=678;}main(){ int x=10,y=20,z=30; fun(x,y,z); printf("%d,%d,%d\n",x,y,z);}输出结果是A.10,20,30 ...

5、有以下程序fun(int *a,int n) { int i,j=0,p;

有以下程序fun(int *a,int n) { int i,j=0,p; p=j; for(i=j;i<n;i++) if(a[i]<a[p]) ____; return(p);}在下画线处应填入的是A.i=p B.a[p]=a[i] C.p=j D.p=iAi=p Ba[p]=a[i] Cp=j Dp=i

6、若有定义:int a,b,C;以下程序段的输出结果是( )。a=11;b=3

若有定义:int a,b,C;以下程序段的输出结果是( )。a=11;b=3;C=0;printf(”%d\n”,c=(a/b,a%);A2B0C3D1