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

若有程序: 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); } 上面程序的输出结果是______。

  • 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) { 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); } 上面程序的输出结果______。A23B15C19D18

2、有以下程序 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

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、若有定义: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

6、有如下程序#include "stdio.h"fun(int a,int b

有如下程序#include "stdio.h"fun(int a,int b){ int s; s=a*(b/4); printf("%d\n",s);}main(){ int a=16,b=10; fun(a,b);}该程序的输出结果是A.16 B.32C.40 D.80A16 B32C40 D80