以下程序通过函数指针p调用函数fun,请在填空栏内,写出定义变量p的语句。 void fun(int *x,int *y) { …… } main() { int a=10,b=20; ________ ; /定义变量p */ p=fun; p(&a,&b); …… }
举一反三
- 若函数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;
- 函数首部是 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);
- 函数首部是 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);
- 以下程序的输出结果是( )。 #include void fun(int *p); int main() { int x = 3; fun(&x); printf(“x = %d\n”, x); } void fun(int *p) { *p = 5; }
- 有函数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); ...... }