计算机二级

设有以下函数: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;

题目

设有以下函数:

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;

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

第1题:

有以下函数定义: void fun(int n,double x){......} 若以下选项中的变量都已正确定义并赋值,则对函数fun正确调用语句是______。

A.fun(int y, double m);

B.k=fun(10,12.5);

C.fun(x,n);

D.void fun(n,x);


正确答案:C
解析:函数调用的一般形式为:函数名(实参表列);,实参与形参的个数应相等,类型应一致,在调用函数时,不要指定其返回类型,对于返回类型为void的函数,不能作为赋值表达式的组成部分,所以选C。

第2题:

有以下函数定义; void fun(int n,double x){......} 若以下选项中的变量都已正确定义并赋值,则对函数fun正确调用语句是______。

A.fun(int y,double m);

B.k=fun(10,12.5);

C.fun(x,n);

D.void fun(n,x);


正确答案:C
解析:函数调用的一般形式为;函数名(实参表列);,实参与形参的个数应相等,类型应一致,在调用函数时,不要指定其返回类型,对于返回类型为void的函数,不能作为赋值表达式的组成部分,所以选C。

第3题:

有以下函数定义:void fun(int n, double x) { …… }若以下选项中的变量都已正确定义并赋值,则对函数fun正确调用的语句是A.fun(int y,double m); B.k=fun(10,12.5); C.fun(x,n); D.void fun(n,x);


正确答案:C
选项A中,fun(int y,double m);中变量y和m前不需要类型说明;因为函数fun(10,12.5)没有返回值,所以选项B错误;调用函数fun时,不需要在函数前面加上void,所以选项D错误。故本题的正确答案是选项C。

第4题:

设有以下函数:

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)。

第5题:

设有以下函数: 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正确。

第6题:

有以下函数定义: void fun(int n,double x) {……} 若以下选项中的变量都已正确定义并赋值,则对函数fun的正确调用语句是

A.fun(int y,double m);

B.k=fun(10,12.5);

C.fun(x,n);

D.void fun(n,x);


正确答案:C
解析:选项A中应将y和m前面的函数的类型说明符去掉;选项B中函数传了2个参数,其中一个为整型一个为浮点型,而fun()函数在定义时声明的2个参数,一个为整型一个为双精度型,其参数类型不一致;选项D在调用函数时,不应该再声明其返回类型。

第7题:

有以下函数定义: void fun(int n, double x) {…} 若以下选项中的变量都已经正确定义并赋值,则对函数fun的正确调用语句是______。

A.fun(int y, double m);

B.k=fun(10, 12.5);

C.fun(x, n);

D.void fun(n, x);


正确答案:C
解析:若函数fun没有返回值,选项B错误;函数调用语句中没有函数返回值,选项D错误;函数凋用语句中只写实参名称,选项A错误。

第8题:

有以下函数定义: void fun(int n, double x) {……} 若以下选项中的变量都已正确定义并赋值,则对函数fun的正确调用语句是( )。

A.fun(int y,double m);

B.k=fun(10,12.5);

C.fun(x,n);

D.void fun(n,x);


正确答案:C
解析:本题考查函数调用。函数调用时,实参前不需加类型说明,选项A)错误;题目中的函数没有返回值,所以选项B)错误;函数调用前不需要加类型说明,选项D)错误。

第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