单选题设有以下函数:void fun(int n,char* s){……}则下面对函数指针的定义和赋值均是正确的是(  )。Avoid(*pf)();pf=fun;Bvoid * pf();pf=fun;Cvoid * pf();* pf=fun;Dvoid(* pf)(int,char);pf=fun;

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


参考解析

解析:
函数指针的一般定义形式为:
返回值类型 (* 指针变量名) ([形参列表]);
其中,“返回值类型”说明函数的返回类型,“(* 指针变量名)”中的括号不能省,括号改变了运算符的优先级。若省略整体则成为一个函数说明,说明了一个返回的数据类型是指针的函数,后面的“形参列表”表示指针变量指向的函数所带的参数列表。
以本题函数和函数指针为例,将函数的首地址赋给指针,可以是pf=fun;或者pf=&fun;
选项A,参数列表与题干函数不符,错误。选项B,函数指针定义格式错误。选项C。函数指针定义格式错误,复制格式也错误。答案选择D选项。

相关考题:

若有以下函数首部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 *);

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

设在主函数中有以下定义和函数调用语句,且fun函数为void类型;请写出fun函数的首部【13】。要求形参名为b。main(){double s[10][22];int n; ┆┆fun(s);┆}

对下列程序段的描述正确的是()。includeint Fun(int,int)void main(){cout 对下列程序段的描述正确的是( )。 #include<iostream.h> int Fun(int,int) void main() { cout<<Fun(5,50)<<endl; } int Fun(int x,int y) { return X*X+y*y; }A.该函数定义正确,但函数调用方式错误B.该函数调用方式正确,但函数定义错误C.该函数定义和调用方式都正确D.该函数定义和调用方式都错误

请编写一个函数char *fun(char *s,int n)。函数fun()的功能是将字符串s中的字符“循环左移”n位。例如,输入“ABCDE”,则循环左移2位应输出“CDEAB”,输入“1234567”,循环左移3位应输出“4567123”。注意:部分源程序已存在文件PROC13.cpp中。请勿修改主函数和其他函数中的任何内容,仅在函数fun()的花括号中填写若干语句。文件PROC13.cpp的内容如下://PROC13.cppinclude <iostream>include <string>using namespace std;char *fun(char *s,int n);int main(){char str[81];int n;cout<<"Enter a string(less than 80 char)\n”;cin>>str;cout<<"\n Enter n:";cin>>n;if(n>strlen(str)){cout<<"\n Data overflow";return 0;}cout<<"The result is: "<<fun(str,n)<<end1;return 0;}char *fun(char*s,int n){//* * * * * *}

有以下函数定义: 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);

若有以下调用语句,则不正确的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)

设在主函数中有以下定义和函数调用语句,且fun()函数为void类型,请写出fun()函数的首部______。int main(){double s[10][22];int n:...fun (s):...return 0;}

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

对下列程序段的描述正确的是( )。 include int fun(int,int); void main( 对下列程序段的描述正确的是( )。 #include<iostream.h> int fun(int,int); void main() { cout<<fun(1,2)<<endl; } int fun(int x,int y) { return x+y; }A.该函数定义正确,但函数调用方式错误B.该函数调用方式正确,但函数定义错误C.该函数定义和调用方式都正确D.该函数定义和调用方式都错误

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

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

若有以下调用语句,则不正确的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;

有以下函数定义: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);

设在主函数中有以下定义和函数调用语句,且fun函数为void类型。请写出函数fun的头部,要求函数的形参为变量b。main(){ double s[10][22]; int n; …… fun(s); ……}

阅读以下函数说明和C语言函数,将应填入(n)处的字句写在对应栏内。[说明1]函数void fun(char*w,char x,int*n)用来在w数组中插入x,w数组中的数已按由小到大顺序存放,n指存储单元中存放数组中数据的个数,插入后数组中的数仍有序。[C函数1]void fun(char*W,char x,int*n){ int i,P;p=0;w[*n]=x;while(x>w[p]) (1) ;for(i=*n,i>p;i--)w[i]=(2);w[p]=x;++*n;}[说明2]函数void revstr(char*s)将字符串s逆置。例如:字符串“abcde”,经过逆置后变为“edcba”。[C函数2]void revstr(char*s){ char*p,c;if(s==NULL)return;p=(3); /*p指向字符串s的最后一个有效字符*/while(s<p){ /*交换并移动指针*/C=*s;(4)=*p;(5)=c;}}

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

下面的说明中,正确的函数定义是( )。A.void fun(void)B.void fun(void){}C.fun(int s){}D.fun(int s){return s+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);

若主函数中有以下定义和语句: main() { double a[3][4]; …… fun(a) ; } 则正确的fun函数的首部是( )A.void fun(double *s)B.fun(double *s[4])C.fun(double(*s)[3])D.void fun(double(*s)[4])

若有以下调用语句,则不正确的 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)

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

有以下函数定义voidfun(intn){…};若以下选项中的变量都已经正确定义且赋值则对函数fun的正确调用语句是()A、fun(inty);B、k=fun(10);C、fun(x);D、voidfun(n);

单选题对于函数定义:  void FUN(int n, double x)  {  … }  若以下选项中的变量都已定义并赋值,则对函数FUN的正确调用的语句是()。Ak=FUN(x,n);Bvoid FUN(n,x);CFUN(int y,double m);DFUN(10,12.5);