若有void f3(int (*p)[4]); int a[4]={0};,则f3(&a)是非法的。
举一反三
- 写出下列程序的执行结果是:__________________。#include<;iostream>;using namespace std;int f1( int a, int b ) { return a + b ;}int f2( int a, int b ){ return a - b ;}int f3( int( *t )( int, int ), int a, int b ) { return ( *t )( a, b ) ;}void main(){ int ( *p )( int, int ); p = f1 ; cout <;<; f3( p, 4, 8 ) <;<;","; p = f2 ; cout <;<; f3( p, 8, 4 );}
- 下列程序的输出结果是 。#includeint f(int t[], int n);void main(){int a[4]={1, 2, 3, 4}, s;s=f(a, 4); printf("%d\n", s);}int f(int t[], int n){if(n>;0) return(t[n-1]+f(t,n-1));else return(0);}
- 若有函数原型:void f(int, int *); 和变量声明:int a =2, *p = &a; 则下列函数调用正确 的是( )。 A: f(a, *p); B: f(*p, a); C: f(a, &p); D: f(*p, &a);
- 设主调用函数为如下程序段,则函数f中对形参数组定义错误的是:int a[3][4];f() A: f(int array[3][4]) B: f(int array[][4]) C: f(int array[3][]) D: f(int array[4][3])
- 若有说明 int a[3][4];则a数组元素的非法引用是( )。