计算机二级

若有函数Void fun( double a[ ],int *n){ …… }以下叙述中正确的是A)调用fun函数时只有数组执行按值传送,其他实参和形参之间执行按地址传送B)形参a和n都是指针变量C)形参a是一个数组名,n是指针变量D)调用fun函数时将把double型实参数组元素一一对应地传送给形参a数组

题目

若有函数

Void fun( double a[ ],int *n)

{ …… }

以下叙述中正确的是

A)调用fun函数时只有数组执行按值传送,其他实参和形参之间执行按地址传送

B)形参a和n都是指针变量

C)形参a是一个数组名,n是指针变量

D)调用fun函数时将把double型实参数组元素一一对应地传送给形参a数组

如果没有搜索结果,请直接 联系老师 获取答案。
如果没有搜索结果,请直接 联系老师 获取答案。
相似问题和答案

第1题:

3、若有以下说明和定义,则对fun函数的正确调用语句是() int main() { int (*a)(int*),*b(),w[10],c; : : return 0; } int fun(int *c) {...}

A.a=fun; a(w);

B.a=fun; (*a)(&c);

C.b=fun; *b(w);

D.fun(b);


a=fun; (*a)(&c);

第2题:

若有以下说明和定义,则对fun函数的正确调用语句是() int main() { int (*a)(int*),*b(),w[10],c; : : return 0; } int fun(int *c) {...}

A.a=fun; a(w);

B.a=fun; (*a)(&c);

C.b=fun; *b(w);

D.fun(b);


a=fun; (*a)(&c);

第3题:

若有以下数组定义和函数调用,则函数fun的原型为:int a[3][4] = {1}; fun(a);

A.fun(int a[][4]);

B.fun(int a[][]);

C.fun(int a[]);

D.fun(int a[3][]);


fun(int a[][4]);

第4题:

对于以下函数声明

void fun(int array[4],int+ptr);以下叙述中正确的是( )。

A.array,ptr都是指针变量

B.调用fun函数时,实参的值将逐一复制给array

C.调用fun函数时,array按值传送,ptr按地址传送

D.array是数组,ptr是指针,它们的性质不同


正确答案:A
voidfun(intarray[4],int4ptr);第一个参数虽然是数组类型,但是会退化为指针,并且形参数组的个数没有用。第二个参数是指针,因此实际上二个形参都是指针,传递的都是地址,而不是值。可知选项B、C、D错误。答案为A选项。

第5题:

设有以下函数:

voidfun(intn,char}s){……}

则下面对函数指针的定义和赋值均正确的是( )。

A.void(*pf)(int,char);pf=&fun;

B.void+pf( );pf=fun;

C.void*pf( );*pf=fun;

D.void(*pf)(int,char*);pf=fun;


正确答案:D
函数的参数可以是指针类型。它的作用是将一个变量的地址传送到另一个函数中。函数名代表函数的人口地址,指向函数的指针应该定义为void(+pf)()。如果定义为void·pf(),则表示函数pf返回值为一个基类型为void的指针。因此D选项正确。

第6题:

设有以下函数:

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;


正确答案:A
解析:函数指针的定义形式是:数据类型标识符(*指针变量名)( )。void(*pf)( )定义了一个没有返回值的函数指针pf,在给函数指针变量赋值时,只需给出函数名而不必给出参数。所以给pf赋值时,只把函数名fun赋给pf即可。所以正确答案为选项A)。

第7题:

若有函数 void fun(double a[]。int*n) {…} 以下叙述中正确的是( )。

A.调用fun函数时只有数组执行按值传送,其他实参和形参之间执行按地址传送

B.形参a和n都是指针变量

C.形参a是一个数组名,n是指针变量

D.调用fun函数时将把double型参数组元素一一对应地传送给形参a数组


正确答案:B
本题考查函数中数组和指针的传值,数组a[]在参数传递时,是传递的数组a的首地址,所以形参a和n都是指针变量。。

第8题:

设有以下函数: 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);pf=&fun;


正确答案:A
函数指针的定义格式为函数类型(*指针变量名)(形参列表);函数名和数组名一样代表了函数代码的首地址,因此在赋值时,直接将函数指针指向函数名就行了。所以选项A正确。

第9题:

设有以下函数

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