若函数fun的函数头为:int fun(int i,int j) 且函数指针变量p定义如下: int (*p)(int i,int j); 则要使指针p指向函数fun的赋值语句是( )。
A: p=*fun;
B: p=fun;
C: p=fun(i,j);
D: p=&fun;
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);