计算机二级

下列函数定义中,会出现编译错误的是A.max(int x,int y,int *z) { *z=x>y ? x:y; }B.int max(int x,y) { int z; z=x>y ? x:y; return z; }C.max(int x,int y) { int z; z=x>y?x:y; return(z); }D.int max(int x,int y) { return(x>y?x:y); }

题目

下列函数定义中,会出现编译错误的是

A.max(int x,int y,int *z) { *z=x>y ? x:y; }

B.int max(int x,y) { int z; z=x>y ? x:y; return z; }

C.max(int x,int y) { int z; z=x>y?x:y; return(z); }

D.int max(int x,int y) { return(x>y?x:y); }

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

第1题:

下列函数定义中,会出现编译错误的是______。

A.max(int x, int y, int *z) { *z=x>y ? x:y; } z=x>y ? x:y;

B.int max(int x,y) {int z; return z; }

C.max(int x,int y) {int z; z=x>y? x:y; return(z);}

D.int max(int x, int y) {return x>y ? x:y;}


正确答案:B
解析:在C语言中,不可以在函数的参数声明列表中用一个类型名指定多个参数。故选项B是错误的。其正确的表示方式应为:intmax(intx,inty){…}或intmax(:1intx,y;{…)

第2题:

下列函数定义中,会出现编译错误的是_____。

A.max(int x,int y,int *z) { *z=x>y?x:y; } z=x>y?x:y; return z;}

B.int max(int x,y) {int z;

C.max(int x,int y) {int z; z=x>y?x:y; return(z);}

D.int max(int x,int y) {return x>y?x:y;}


正确答案:B
解析:在C语言中,不可以在函数的参数声明列表中用一个类型名指定多个参数。故选项B是错误的。其正确的表示方式应为:intmax(intx,inty){……}或intmax(x,y)intx,y;{……}

第3题:

下列函数定义中,会出现编译错误的是______。

A.max(int x,int y,int*z)

B.int max(int x,y) { *z=x>y?x:y;} {int z; z=x>y?X:y; return z;}

C.max(int x,int y)

D.int max(int x,int y) {int z; {return x>y?x:y;} z=x>y?x:y; return(z);}


正确答案:B
解析:在C语言中,不可以在函数的参数声明列表中用一个类型名指定多个参数。故选项B是错误的。其正确的表示方式应为:intmax(intx,inty){……}或intmax(x,y)intx,y;{……}

第4题:

x,y是整数型变量,z产生一个范围在[y,x]之间的随机整数的语句是( )。

A.z=Int(Rnd*(y-x+1))+x

B.z=Int(Rnd*y) + x

C.z=Int(Rnd*x)+y

D.z=Int(Rnd*(y-x)) + x


正确答案:A

第5题:

下列函数定义中,会出现编译错误的是( )。

A.max(int x,int y,int *z) { *z=x>y?x:y; }

B.int max(int x,y) { int z; z=x>y?x:y; return z; }

C.max(int x,int y) { int z; z=x>y? x:y; return(z); }

D.int max(int x,int y) { return(x>y? x:y); }


正确答案:B
解析:在选项B)中,定义max函数时,形参只定义了x的数据类型,而未定义y的数据类型,所以会出现编译错误。

第6题:

设函数findbig已定义为求3个数中的最大值。以下程序将利用函数指针调用findbig函数,请填空。main(){ int findbig(int,int,int); int (*f)(),x,y,z,big; f=; scanf("%d%d%d",&x,&y,&z); big=(*f)(x,y,z); printf("big=%d\n",big);}


正确答案:findbig
在main()函数中,int findbig();是对被调函数的说明,其功能是告诉系统在本函数中将用到该函数且返回整型值。int (*f)();说明f是一个指向函数的指针变量,此函数带回整型的返回值。赋值语句f=findbig;的作用是将函数findbig的入口地址赋给指针变量f,这时f就是指向函数findbig的指针变量。要注意的是,在给函数指针变量赋值时,只需给出函数名而不必给出参数,因为是将函数的入口地址赋给f,而不涉及实参与形参的结合问题。故本题答案为findbig。

第7题:

下列函数定义中,会出现编译错误的是

A.max(int x,int y,int*z) {*z=x>y?xy;}

B.int max(int x,y) {int z; z=x>y?xy; return z; }

C.max(int x,int y) {int z; z=x>y?xy;return(z); }

D.int max(int x,int y) { return(x>y?xy);}


正确答案:B
解析:本题考核的知识点是函数的定义方法。选项B中在说明形参时,省略了第二个参数的类型,故选项B编译不能通过。

第8题:

下列函数定义中,会出现编译错误的是______。

A.max(int x,int y,int *z) { *z=x>y?x:y; } z=x>y?x:y;

B.int max(int x,y) {int z; return z; }

C.max(int x,int y) { int z; z=x>y?x:y; return (z);}

D.int max(int x,int y) { return x>y?x:y;}


正确答案:B
解析:在C语言中,不可以在函数的参数声明列表中用一个类型名指定多个参数。故选项B是错误的。其正确的表示方式应为:intmax(intx,inty){……}或intmax(x,y)intx,y;{……}

第9题:

下列函数定义中,会出现编译错误的是 ______。

A.max(int x,int y,int *z) { *z=x>y? x:y;}

B.int max(int x,y) {int z; z=x>y? x;y; return z; }

C.max(int x,int y) { int z; z=x>y? x:y; return(z); }

D.int max(int x,int y) { return(x>y?x:y);}


正确答案:B
解析:本题考查函数的定义。选项B中函数形参y没有说明数据类型。