A: 说明一个函数指针fun。
B: 将int 变量k 转换为指针类型fun。
C: 通过函数指针fun 来调用函数,实参为*intp。
D: 错误表达式。
举一反三
- 设有语句:int k=2, *intp = &k; 那么表达式:(*fun)(*intp)是 。
- 设有函数说明语句:int fun(int,int);以及函数指针定义语句:int (*f)(int int);若要使函数指针指向函数fun的入口地址,以下选项中正确的是( )。 A: f=fun(); B: *f=fun; C: f=fun; D: *f=fun( );
- 某函数原型说明为 int fun(char *, int &);另有变量:char str[100]; int k; 正确的函数调用形式为: A: fun(str,&k) B: fun(str,k) C: fun(str[100], k) D: fun(*str,&k)
- 设有函数说明语句: int fun(int,int); 以及函数指针定义语句: int (*f)(int,int); 若要使函数指针指向函数fun的入口地址,以下选项中正确的是()
- 若函数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;
内容
- 0
int (*f)(int, int);这条语句定义的是一个函数指针f,有一个函数原型为int Fun(int a, int b), 对f进行初始化,让其指向函数Fun(),应使用语句( )。 A: f=Fun; B: f= Fun(); C: *f= Fun() D: *f=Fun;
- 1
已知下列函数定义: fun(int *b,int c,int d) int k; for(k=0;k<c*d;k++) *b=c+d; b++; 则调用此函数的正确写法是(假设变量a的说明为int a[10])()。 A: fun(*a,6,14); B: fun(&a,6,8); C: fun(a,8,4); D: fun((int)a,8,6);
- 2
已知下列函数定义: fun(int *b,int c,int d) int k; fbr(k=0;k<c*d;k++) *b=c+d; b++; 则调用此函数的正确写法是(假设变量a的说明为int a[10])______。 A: fun(*a,6,14); B: fun(&a,6,8); C: fun(a,8,4); D: fun(int)a,8,6);
- 3
以下程序通过函数指针p调用函数fun,请在填空栏内,写出定义变量p的语句。 void fun(int *x,int *y) { …… } main() { int a=10,b=20; ________ ; /定义变量p */ p=fun; p(&a,&b); …… }
- 4
已知函数fun的定义如下:[br][/br]void fun(int x[],int y)[br][/br]{ int k;[br][/br] for(k=0;k x[k]+=y;[br][/br]}[br][/br]若main函数中有声明int a[10]={10};及调用fun函数的语句,则正确的fun函数调用形式是( ). A: fun(a[],a[0]); B: fun(a[0],a[0]); C: fun(&a[0],a[0]); D: fun(a[0],&a[0]);