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

有以下程序int a=2;int f(int *a){ return (*a


有以下程序int a=2;int f(int *a){ return (*a)++;}main(){ int s=0; { int a=5; s+=f(&a); } s+=f(&a); printf("%d\n",s);}执行后的输出结果是A.10 B.9 C.7 D.8

  • A10
  • B9
  • C7
  • D8
参考答案
参考解析:

在一个函数的内部定义的变量是内部变量,它只在本函数范围内有效,也就是说,只有在本函数内才能使用它们,在此函数以外是不能使用这些变量的。本题中的int a=5;只在{int a=5;s+=f(&a);}内有效。在函数之外定义的变量称为外部变量,外部变量是全局变量。全局变量可以为本文件中其他函数所共用,它的有效范围为:从定义变量的位置开始到本源文件结束。本题的开头int a=2;即为全局变量,实际上起作用的也就是这个。故本题答案为C。

分类:其他
相关推荐

1、有以下程序void func(int *a,int b[]){ b[0]=*

有以下程序void func(int *a,int b[]){ b[0]=*a+6; }main(){ int a,b[5]={0}; a=0; b[0]=3; func(&a,b); rintf("%d\n",b[0]);}程序的运行结果是A.6 B.7C.8 D.9A6 B7C8 D9

2、以下程序段运行后a的值为()。int a=2;a=strcmp(“miss”

以下程序段运行后a的值为()。int a=2;a=strcmp(“miss”,”miss”);AtrueB0C1D-1

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

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 func(int a,int b) { return(

有如下程序int func(int a,int b){return(a+b);}main(){int x=2,y=5,z=8,r;r=func(func(x,y),z);printf("%dn",r);}该程序的输出结果是()A12B13C14D15