A: p=*fun;
B: p=fun;
C: p=fun(i,j);
D: p=&fun;
举一反三
- 以下程序通过函数指针p调用函数fun,请在填空栏内,写出定义变量p的语句。 void fun(int *x,int *y) { …… } main() { int a=10,b=20; ________ ; /定义变量p */ p=fun; p(&a,&b); …… }
- 函数首部是 int fun( int *a, int *b ), 则下列选项中错误的函数调用语句是 。 A: int *p, *q; fun(*p, *q); B: int x, y; ..fun(&x,&y); C: int a[10], b[10], fun(&a[0], &b[1]); D: int *p,*q; fun(p,q);
- 以下函数原型定义错误的是() A: int Fun(int p[8][8], int n); B: int Fun(int p[][], int n); C: int Fun(int p[][8], int n); D: int Fun(int *p[], int *n);
- 下面代码正确的是( ) A: int * fun(){int *p=new int[10];for(int i=0;i<10;++i)p[i]=i;return p;} B: int *fun(){int p[10];for(int i=0;i<10;++i)p[i]=i;return p;} C: int *fun( ){a=10;return &a;} D: int *fun( ){int a=5,*p=&a;return p;}
- 函数首部是 int fun( int *a, int *b ), 则下列选项中错误的函数调用语句是 。 A: int *p, *q; fun(*p, *q); B: int x, y; ..fun(&x,&y); C: int a[10], b[10], fun(&a[0], &b[1]); D: int *p,*q; fun(p,q);
内容
- 0
若有如下形式的函数 int fun(int a[], int *p, int n) {……} 调用函数之前需要对函数进行声明,则以下选项中错误的是: int fun(int [], int *, int);|int fun(int a[], int *, int);|int fun(int a[], int *p, int n);|int fun(int, int, int);
- 1
设有函数说明语句:int fun(int,int);以及函数指针定义语句:int (*f)(int int);若要使函数指针指向函数fun的入口地址,以下选项中正确的是( )。 A: f=fun(); B: *f=fun; C: f=fun; D: *f=fun( );
- 2
下列函数原型声明中,可以返回指针值的是( )。 A: void *fun(); B: int (*p)fun(int, int); C: float fun(int *); D: char *fun(char *);
- 3
有函数int fun(int *)和int Pro(int *,int (*p)(int *) ),main()通过调用函数Pro实现调用函数fun,请把Pro()填完整。 int Pro(int *p, ) { ; } int main(){ int a[10]={0}; Pro(a,fun); ...... }
- 4
若各选项中所用变量已正确定义,fun()函数中通过return语句返回一个函数值,下列选项中错误的程序是()。 A: main() B: ……x =fun(2,10);…… C: float fun(int a,int b) …… D: float fun(int a,int b) …… E: main() F: ……x =fun(i,j);…… G: float fun(int,int); H: main() I: ……x =fun(2,10);…… J: float fun(int a,int b) …… K: main() L: float fun(int I,int j); M: ……x =fun(i,j);…… N: float fun(int a,int B) ……