有说明语句int b[4][5];void fun(int*,int n);调用函数的正确语句是()

题目
单选题
有说明语句int b[4][5];void fun(int*,int n);调用函数的正确语句是()
A

fun(b,20);

B

fun(b[0],20);

C

fun(b[0][0],20);

D

fun(&b,20);

如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

若有以下调用语句,则不正确的fun函数的首部是______。 main() { …… int a[50],n; fun(n,&a[9]); …… }

A.void fun(int m, int x[])

B.void fun(kit s, kit h[41])

C.void fun(kit p, kit *s)

D.void fun(int n, int a)


正确答案:D

第2题:

若有以下变量定义和函数调用语句: int a=5; fun(&a); 则执行下面函数后正确的输出结果是( )。 void fun(int*x) { cout<<++*x<<end1; }

A.3

B.4

C.5

D.6


正确答案:D
解析:fun函数中的x参数为整型指针变量。调用fun函数, &a是取a的地址,即将实际参数a的地址传递。函数fun中的*x是变量x所指的存储单元即值5。*运算符的等级高于++,所以先取值5,然后加1输出,即为6。

第3题:

若有以下函数首部

int fun(double x[10], int *n)

则下面针对此函数的函数声明语句中正确的是

A)int fun(double x, int *n);

B)int fun(double , int );

C)int fun(double *x, int n);

D)int fun(double *, int *);


正确答案:D
答案 D
解析 : 函数首部 int fun(double x[10],int *n) 表示这个函数的返回值是整型,其第 1 个形式参数是一个双精度的一维数组,第 2 个参数是一个整型指针。在 C 语言中,一维数组的名字表示的是一维数组的地址,所以选项D是正确的。

第4题:

若有以下调用语句,则不正确的fun函数的首部是( )。 main() { … int a[50],n; … fun(n,&a[9]); … }

A.void fun(int m,int x[])

B.void fun(int s,int h[41])

C.voidfun(int p,int*s)

D.void fun(int n,iht a)


正确答案:C
解析:根据主函树中的函数调用可知,第一个实参为整型数据,第二个实参为整型数组中一个元素的地址值。因此函数fun()的第二个形参应该为一个指针,故应该选择C。实参不是将整个数组传递给形参,故选项A和B不正确;选项D的第二个形参的数据类型与实参的数据类型不符。

第5题:

若有以下函数首部: int fun(double x[10],int *n) 则下面针对此函数的函数声明语句中正确的是( )。

A.int fun(double x, int *n);

B.int fun(double, int);

C.int fun(double *x, int n);

D.int fun(double*, int*);


正确答案:D
解析:本题中的fun函数有两个参数,一个类型是double型一维数组,另—个是int型指针。而在C语言中,一维数组用作函数参数和该数组元素的指针类型是等价的。所以本题的正确答案是选项D。

第6题:

设在主函数中有以下定义和函数调用语句,且fun()函数为void类型,请写出fun()函数的首部______。

int main()

{

double s[10][22];

int n:

...

fun (s):

...

return 0;

}


正确答案:void fun(b[][22])
void fun(b[][22]) 解析:此题考核的知识点是函数的定义形式与数组名作为函数的参数。函数头的定义形式是“存储类型说明符数据类型说明符函数名(形参列表)”,此题没有涉及到函数的存储类别。如果函数的参数是数组,其第1维的长度可以省略,因此本题的函数首部可以写成:void fun(b[] [22])。

第7题:

有以下函数定义: void fun(int n,doub x) {……} 若以下选项中的变量都已正确定义并赋值,则对函数fun的正确调用语句是( )。

A.fun(int y,double m);

B.k=fun(10,12.5);

C.fun(x,n);

D.void fum(n,x);


正确答案:C
解析:选项A中应将y和m前面的函数的类型说明符去掉,故选项A不正确;选项B中函数传了2个参数,其中一个为整型—个为浮点型,而fun()函数在定义时声明的2个参数,一个为整型一个为双精度型,其参数类型不一致,故选项B不正确;选项D在调用函数时,不应该再声明其返回类型,故选项D不正确。所以,4个选项中选项C符合题意.

第8题:

有以下函数定义: void fun(int n, double x) {……} 若以下选项中的变量都已正确定义并赋值,则对函数fun的正确调用语句是( )。

A.fun(int y,double m);

B.k=fun(10,12.5);

C.fun(x,n);

D.void fun(n,x);


正确答案:C
解析:本题考查函数调用。函数调用时,实参前不需加类型说明,选项A)错误;题目中的函数没有返回值,所以选项B)错误;函数调用前不需要加类型说明,选项D)错误。

第9题:

若有以下函数首部 int fun(double x[lO],int *n) 则下面针对此函数的函数声明语句中正确的是______。

A.int fun(double x, int *n);

B.int fun(double, int);

C.int fun(double *x, int n);

D.iht fun(double*,int*);


正确答案:D
解析:函数声明可以照写已定义的函数的首部,再加一个号就成为了对函数的声明,在函数声明中也可以不写形参名,而只写形参的类型,但要保证与函数首部写法上的—致,即函数类型、函数名、参数个数、参数类型和参数顺序相同。字符数组可用指针来表示,所以选顶D正确。

第10题:

已知下列函数定义: fun(int%,int c,int n,int datA){int k; for(k=0;k<m*n;k++) {*b=data; b++;} } 则调用此函数的正确写法是(假设变量a的说明为int a[50])( )。

A.fun(*a,4,5,1);

B.fun(&a,4,5,1);

C.fun((int*)a,4,5,1);

D.fun(a,4,5,1);


正确答案:D

更多相关问题