下列函数定义中,会出现编译错误的是( )。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); }


相似考题
更多“下列函数定义中,会出现编译错误的是()。A.max(int x,int y,int *z) { *z=x>y?x:y; }B.int max(int ”相关问题
  • 第1题:

    设函数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。

  • 第2题:

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

    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;{……}

  • 第3题:

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

    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;{…)

  • 第4题:

    以下程序执行后的输出结果是include using namespace std;void try(int,int,int,int)

    以下程序执行后的输出结果是 #include <iostream> using namespace std; void try(int,int,int,int); int main () { int x,y,z,r; x =1 ; y = 2; try(x,y,z,r); cout<<r<<endl; return 0; } void try(int x,int y,int z,int r) { z = x+y; x = x*x; y = y*y; r = z+x+y; }

    A.18

    B.9

    C.10

    D.不确定


    正确答案:D
    解析:本题考核函数调用(参数的传递)。本题常见的错误解答是:把x=1,y=2代入到函数try中,逐步计算出r=8。最后得到r的输出值是8。以下是正确解答,根据程序逐步分析:程序中定义了一个名为try的void型函数,即函数try没有任何返回值。而try函数在main函数中是以一条独立语句的方式被调用的,且main函数最后输出变量r的值。但在main函数中,并没有对变量r赋值。在c++语言中,数据只能从实参单向传递给形参,称为按值传递。也就是说,当简单变量作为实参时,用户不能在函数中改变对应实参的值。所以虽然在函数try中,r的值为8,但它并不能传递给实参,当然最终的输出肯定是不确定的随机数了。

  • 第5题:

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

    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;{……}