如果函数声明形式为 void fun( char* a, int n, int&m );以下函数正确的调用的为( )
A: char str[10]; int *p, m; fun( str, m, p );
B: char *p = new char[10]; int n, m; fun( p, m, &n );
C: char *p = new char[10]; int n, m; fun( p, m, n );
D: char *p = new char[10]; fun( p, 5, 6 );
A: char str[10]; int *p, m; fun( str, m, p );
B: char *p = new char[10]; int n, m; fun( p, m, &n );
C: char *p = new char[10]; int n, m; fun( p, m, n );
D: char *p = new char[10]; fun( p, 5, 6 );
举一反三
- 以下哪组函数能正确重载,函数调用不会产生二义性()。 A: swap( int*, int*); void swap(int*, int*); B: void fun(char); void fun(char, char=’0’); C: int fun(int* p, int n); float fun(int a[], int&m); D: void fun(char*, int, double); void fun(char[], int);
- 下列函数原型声明中,可以返回指针值的是( )。 A: void *fun(); B: int (*p)fun(int, int); C: float fun(int *); D: char *fun(char *);
- 下面小段程序,哪个是正确的:() A: char * p = new char[10];p[0] = 'K'; delete [] p; B: int *p = new int[25]; p[10] = 100; delete p C: char * p = new int; p = 'a'; delete p; D: int * p = new char[20];p = 'a'; delete p;
- 有以下函数定义:void fun(int n,char x) {……}若以下选项中的变量都已经正确定义并赋值,则对函数fun的正确调用语句是 。 A: fun(int y, char m); B: k=fun(10, 'A'); C: fun(x, A); D: void fun(n,x);
- 下面语句错误的是( )。 A: int *p; *p=20; B: char *s="abcdef"; printf("%s\n",s); C: char *str="abcdef"; char *p;p=str D: char *str;str="abcdef";