单选题若有函数声明:void fun(float array[],int*ptr);以下叙述正确的是(  )。A函数参数array,ptr都是指针变量B函数参数array不是指针变量,ptr是指针变量C调用函数时,实参数组的值将一一复制给array数组D调用函数时,array是按值传送,ptr是按地址传送

单选题
若有函数声明:void fun(float array[],int*ptr);以下叙述正确的是(  )。
A

函数参数array,ptr都是指针变量

B

函数参数array不是指针变量,ptr是指针变量

C

调用函数时,实参数组的值将一一复制给array数组

D

调用函数时,array是按值传送,ptr是按地址传送


参考解析

解析:
数组名为数组的首地址,也是指向数组的指针,所以array和ptr都是指针,A项正确,B项错误。调用函数时,将实参数组首地址赋给指针array,而不是传递整个数组元素,C项错误。调用函数时,array与ptr都是按地址传送的,D项错误。答案选择A选项。

相关考题:

若有以下函数首部int fun(double x[10], int *n)则下面针对此函数的函数声明语句中正确的是A)int fun(double x, int *n);B)int fun(double , int );C)int fun(double *x, int n);D)int fun(double *, int *);

若各选项中所用变量已正确定义,函数 fun 中通过 return 语句返回一个函数值,以下选项中错误的程序是A)main(){ …… x=fun(2,10); …… }float fun(int a,int b){ …… }B)float fun(int a,int b){ …… }main(){ …… x=fun(i,j); …… }C)float fun(int,int);main(){ …… x=fun(2,10); …… }float fun(int a,int b) { …… }D)main(){ float fun(int i,int j);…… x=fun(i,j); …… }float fun(int a,int b){ …… }

设有以下函数void fun(int n,char * s) { …… }则下面对函数指针的定义和赋值均是正确的是A)void (*pf)(); pf=fun;B)viod *pf(); pf=fun;C)void *pf(); *pf=fun;D)void (*pf)(int,char);pf=fun;

下列函数原型声明中错误的是A.void Fun(int x=O,int y=0);B.void Fun(int x,int y);C.void Fun(int x,int y=0);D.void Fun(int x=0,int y);

若已经声明了函数原型“void fun(int a,double b=0.0);”,则下列重载函数声明中正确的是( )。A.void fun(int a=90,double b=0.0);B.int fun(int a,double B);C.void fun(double a,int B);D.bool fun(int a,double b=0.0);

若各选项中所用变量已正确定义,fun()函数中通过return语句返回一个函数值,下列选项中错误的程序是( )。A.main() {……x=fun(2,10);……} float fun(int a,int b){……}B.float fun(int a,int b){……} main() {……x=fun(i,j);……}C.float fun(int,int); main() {……x=fun(2,10);……} float fun(int a,int b){……}D.main() {float fun(int I,intj); ……x=fun(i,j);……} float fun(int a,int b){……}

main函数中发生编译错误的语句是______。 include class A { public: int a; const i main函数中发生编译错误的语句是______。include<iostream.h>class A{public:int a;const int b;A( ):a(10),b(20){}void fun( )const{cout<<"a="<<a<<"\tb="<<b<<endl;}};void main( ){A obj1;const A*ptr=new A;ptr=obj1;ptr->a=100;ptr->fun( );}

若有以下调用语句,则不正确的fun函数的首部是______。 main() { …… int a[50],n; fun(n,a[9]); …… }A.void fun(int m, int x[])B.void fun(kit s, kit h[41])C.void fun(kit p, kit *s)D.void fun(int n, int a)

若有以下变量定义和函数调用语句: int a=5; fun(a); 则执行下面函数后正确的输出结果是( )。 void fun(int*x) { cout<<++*x<<end1; }A.3B.4C.5D.6

若有以下函数首部: int fun(double x[10],int *n) 则下面针对此函数的函数声明语句中正确的是( )。A.int fun(double x, int *n);B.int fun(double, int);C.int fun(double *x, int n);D.int fun(double*, int*);

若有以下函数首部 int fun(double x[lO],int *n) 则下面针对此函数的函数声明语句中正确的是______。A.int fun(double x, int *n);B.int fun(double, int);C.int fun(double *x, int n);D.iht fun(double*,int*);

若有以下调用语句,则不正确的fun函数的首部是( )。 main() { … int a[50],n; … fun(n,a[9]); … }A.void fun(int m,int x[])B.void fun(int s,int h[41])C.voidfun(int p,int*s)D.void fun(int n,iht a)

设有以下函数:void fun(int n,char*$s){……}则下面对函数指针的定义和赋值均正确的是A.void(*pf)( );pf=fun;B.void*Pf( );pf=fun;C.void*pf( ); *pf=fun;D.void(*pf)(int,char);nf=fun;

若有以下函数首部:int fun(double x[10],int*n)则下面针对此函数的函数声明语句中正确的是( )。A.int fun(double,int);B.int fun(double木,int*);C.int mn(double*x,int n);D.int fun(double x,intint*n)

对于以下函数声明void fun(int array[4],int+ptr);以下叙述中正确的是( )。A.array,ptr都是指针变量B.调用fun函数时,实参的值将逐一复制给arrayC.调用fun函数时,array按值传送,ptr按地址传送D.array是数组,ptr是指针,它们的性质不同

若各选项中所有变量已正确定义,函数fun中通过return语句返回一个函数值,以下选项中错误的程序是______。A.mam() {…… x=fun(2,10); ……} fioat fun(int a,int b) { ……}B.float fun (int a,int b) {……} main() {…… x=fun(i,j); ……}C.float fun (int int); main() {…… x=fun(2,10); ……} float fun (int a,int b){ ……}D.main() { float fun (int i, int j); …… x=fun(i,j); ……} float fun (int a,int b){ ……}

若已经声明了函数原型“void fun(int a,double b=0.0);”,则下列重载函数声明中正确的是A.void fun(int a=90,double b=0.0);B.int fun(int a,double B) ;C.void fun(double a,intB) ;D.bool fun(int a,double b=0.0);

下列重载函数中,正确的是( )。A.void fun(int a,float b);void fun(int C,float d)B.void fun(int a,float b);void fun(float a,int b)C.float fun(int a,float b);int fun(int b,float a)D.int fun(int a,int b);float fun(int a,int b)

若有以下调用语句,则不正确的 fun 函数的首部是( )。 void main() { int a[50],n; fun(n,a[9]); }A.void fun(int m,int x[])B.void fun(int s,int h[])C.void fun(intp,int * s)D.void fun(int n,int a)

若有以下程序段: void x(int n); void main() { void x(int n); x(5); } void x(int n){ cout<<n: } 则以下叙述不正确的是 ______。A.若只在子函数中对函数x进行声明,则只能在主数中正确调用函数xB.若只在子函数前面对函数x进行声明,则其后的所有函数中都可以正确调用函数xC.对于以上程序,编译时系统会提示出错信息:提示对x函数重复声明D.函数x无返回值,所以可用void定义x的函数类型

若有以下调用语句,则不正确的fun函数的首部是( )。 main() { int a[50],n; fun(n,a[9]); ┆ }A.void fun(int m,int x[])B.void fun(int s,int h[41])C.void fun(int p,int *s)D.void fun(int n,int a)

若下列各选项中所有变量已正确定义,函数fun通过return语句返回一个函数值,以下选项中错误的程序是( )。A.main( ) {...... x = fun(2,10);......} float fun(int a, int b){......}B.float fun( int a,int b){......} main( ) {......x = fun(i,j);......}C.float fun(int, int); main( ) {......x=fun(2,10);......} float fun(iht a, int b){......}D.main( ) { float fun(int i, int j); ...... x = fun(i,j);......} float fun(int a,int b) {......}

以下正确的函数原型为()A、fun1(int x;int y);B、void fun1(x,y);C、void fun1(int x,y);D、void fun1(int,int);

单选题下列重载函数中,正确的是(  )。Avoid fun(int a,float b);void fun(int C,float d)Bvoid fun(int a,float b);void fun(float a,int b)Cfloat fun(int a,float b);int fun(int b,float a)Dint fun(int a,int b);float fun(int a,int b)

单选题若有以下函数首部int fun(double x[10],int*n)则下面针对此函数的函数声明语句中正确的是(  )。Aint fun(double*,int*);Bint fun(double,int);Cint fun(double *x,int n);Dint fun(double x,int*n);

单选题若已经声明了函数原型“void fun(int a,double b=0.0);”,则下列重载函数声明中正确的是(  )。Avoid fun(int a=90,double b=0.0);Bint fun(int a,double B);Cvoid fun(double a,int B);Dbool fun(int a,double b=0.0);

单选题若有函数定义:double fun(int a[10]){...},则在对该函数进行原型声明时,错误的声明语句是()Adouble fun(int[])Bdouble fun(intb[10])Cdouble fun(inta)Ddouble fun(int*a)