若以下对fun函数的调用是正确的: x=fun(fun(a,b,c) ,(a+b,a+c) ,a+b+c); 则fun函数的形参个数为( )A.3B.4C.5D.6

题目

若以下对fun函数的调用是正确的: x=fun(fun(a,b,c) ,(a+b,a+c) ,a+b+c); 则fun函数的形参个数为( )

A.3

B.4

C.5

D.6


相似考题
参考答案和解析
正确答案:A
更多“若以下对fun函数的调用是正确的:x=fun(fun(a,b,c) ,(a+b,a+c) ,a+b+c);则fun函数的形参个数为()A ”相关问题
  • 第1题:

    设在主函数中有以下定义和函数调用语句,且fun函数为void类型;请写出fun函数的首部【13】。要求形参名为b。

    main()

    {double s[10][22];

    int n; ┆

    fun(s);

    }


    正确答案:
    void fun(double b[][22])

  • 第2题:

    有下列函数定义: int fun(double a,double b) {return a*b;} 若下列选项中所用变量都已经正确定义并赋值,错误的函数调用是( )。

    A.if(fun(x,y)){……}

    B.z=fun(fun(x,y),fun(x,y));

    C.z=fun(fun(X,y)x,y);

    D.fun(x,y);


    正确答案:C
    本题考查函数在函数调用时参数的传递形式,形参与实参参数个数类型要一致。

  • 第3题:

    设函数fun的定义形式为: vold fun (char ch, float x){……} 则以下对函数fun的调用语句中,正确的是( )。

    A.fun("abc",3.0);

    B.t=fun('D',16.5);

    C.fun('65',2.8);

    D.fun(32,32);


    正确答案:D
    解析:调用有参函数时,实参与形参的类型应相同或赋值兼容。由于整型数据与字符型数据可以通用,所以实参“32”与形参ch的类型是一致的;又因为整型变量给浮点型变量赋值是相兼容的,所以选项D)正确。

  • 第4题:

    若有以下函数首部: 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。

  • 第5题:

    若有函数fun(x,y),并且已经使函数指针变量p指向函数fun,则使用p调用函数fun的正确方法是( )。

    A.(*p)fun(x,y);

    B.*pfun(x,y);

    C.(*p)(x,y)

    D.*p(x,y)


    正确答案:C

  • 第6题:

    若语句“t=fun(fun(x,y,A),(a+b,a+C),x+y+z);”对fun函数的调用正确,则fun函数的形参个数为( )。

    A.3

    B.4

    C.5

    D.6


    正确答案:A

  • 第7题:

    设在主函数中有以下定义和函数调用语句,且fun函数为void类型。请写出函数fun的头部,要求函数的形参为变量b。main(){ double s[10][22]; int n; …… fun(s); ……}


    正确答案:void fun(double * b)
    数组名是地址值,它通常可以作为指针使用,题中有被调用函数fun(s),而s为double型数组名,所以函数fun的形参类型为double *。

  • 第8题:

    函数fun1()、fun2()的定义如下所示,已知调用fun1时传递给形参x的值是-5,若以引用调用(call by.reference)的方式调用。fun2,则雨数fun1的返回值为( );若以值调用(call by value)的方式调用fun2,则函数funl的返回值为( )。

    A.-18

    B.-11

    C.-8

    D.O(34)


    正确答案:C
    解析:引用调用是函数传递参数的一种方式,使用引用调用,可以在子函数中对形参所做的更改对主函数中的实参有效。(33)a=-6;x=12;因为是引用调用,所以a=4,a-x=4-12=-8。(34)a=-6;x=12;因为是值调用,所以a=-6,a-x=-6-12=-18。

  • 第9题:

    若主函数中有定义语句:int a[10],b[10],c;,在主函数前定义的fun函数首部为:void fun(int x[ ]),则以下选项中错误的调用语句是( )。

    A.fun(b);

    B.fun(&c);

    C.fun(&a[3]);

    D.fun(b[11]);


    答案:D 
    解析:fun函数的形式参数为一个数组,需要实参为一个地址,而b[11]是一个整型元素,参数类型不一致,且b[11]已经溢出,所以D项错误。 

  • 第10题:

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

    • A、k=FUN(x,n);
    • B、void FUN(n,x);
    • C、FUN(int y,double m);
    • D、FUN(10,12.5);

    正确答案:D

  • 第11题:

    有以下函数定义voidfun(intn){…};若以下选项中的变量都已经正确定义且赋值则对函数fun的正确调用语句是()

    • A、fun(inty);
    • B、k=fun(10);
    • C、fun(x);
    • D、voidfun(n);

    正确答案:C

  • 第12题:

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

    int fun(double*,int*);

    B

    int fun(double,int);

    C

    int fun(double *x,int n);

    D

    int fun(double x,int*n);


    正确答案: C
    解析:
    函数声明应该和函数调用的参数保持一致,声明时的参数(形参)名字可以省略,数组在参数传递过程中变成指针。答案选择A选项。

  • 第13题:

    设函数fun的定义形式为: void fun(char ch,float x){ } 则以下对函数fun的调用语句中,正确的是 ______。

    A.fun ("abc",3.0);

    B.t=fun('D',16.5);

    C.fun('65',2,8);

    D.fun(32,32);


    正确答案:C
    解析:A选项"abc"的表示字符串,与参数类型不一样。B选项fun没有返回值,不能将其用来赋值。D选项第一个32不是字符,与参数类型不一样。

  • 第14题:

    有以下函数定义: 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)错误。

  • 第15题:

    有以下函数定义: 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符合题意.

  • 第16题:

    设fun函数的定义形式为 void fun(char ch,float x){…} 则下列对函数fun的调用语句中,正确的是( )。

    A. fun("abc",3.0);

    B.t=fun(D.16.5);

    C.fun(65,2.8);

    D.fun(32,32);


    正确答案:C
    由题目的已知条件函数fun的定义形式voidfun(charch,floatx){…)可知第一个形参为字符型,所以A不符合,第二个形参为精度型,所以D不符合,函数fun定义为void型(无论返回值型),故其没有返回值,所以选项B错误。选项C的第一个实参的类型为字符型,第二个实参的类型为单精度型,与函数fun的形式参数的类型相符合,所以选项C为正确答案。

  • 第17题:

    有以下函数定义: int fun(double a,doubleB){return a*b;} 若以下选项中所用变量都已正确定义并赋值,错误的函数调用是( )。

    A.if(fun(x,y)){……}

    B.z=fun(fun(x,y),fun(x,y));

    C.z=fun(fun(x,y)x,y);

    D.fun(x,y);


    正确答案:C

  • 第18题:

    有以下函数定义: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中,fun(int y,double m);中变量y和m前不需要类型说明;因为函数fun(10,12.5)没有返回值,所以选项B错误;调用函数fun时,不需要在函数前面加上void,所以选项D错误。故本题的正确答案是选项C。

  • 第19题:

    有以下函数定义; 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
    解析:函数调用的一般形式为;函数名(实参表列);,实参与形参的个数应相等,类型应一致,在调用函数时,不要指定其返回类型,对于返回类型为void的函数,不能作为赋值表达式的组成部分,所以选C。

  • 第20题:

    若主函数中有以下定义和语句: main() { double a[3][4]; …… fun(a) ; } 则正确的fun函数的首部是( )

    A.void fun(double *s)

    B.fun(double *s[4])

    C.fun(double(*s)[3])

    D.void fun(double(*s)[4])


    正确答案:D

  • 第21题:

    若有函数fun(x,y),并且已经使函数指针变量p指向函数fun,则使用p调用函数 fun的方法是______。


    正确答案:(*p)(xy)。
    (*p)(x,y)。 解析: 一个函数总是占用一段连续的内存区,而函数名就是该函数所占内存区的首地址。我们可以把函数的这个首地址(或称入口地址)赋予一个指针变量,使该指针变量指向读函数。然后通过指针变量就可以找到并调用这个函数。我们把这种指向函数的指针变量称为“函数指针变量”。函数指针变量定义的一般形式为:类型说明符(*指针变量名)();其中“类型说明符”表示被指函数的返回值的类型。“(*指针变量名)”表示“*”后面的变量是定义的指针变量。最后的空括号表示指针变量所指的是一个函数。

  • 第22题:

    已知一个函数的定义如下:double fun(int x,double y){⋯⋯}则该函数正确的函数原型声明为()

    • A、double fun(intx,doubley)
    • B、fun(int x,doubley)
    • C、double fun(int,double);
    • D、fun(x,y);

    正确答案:C

  • 第23题:

    设函数fun的定义形式为void fun(char ch,float x){……}则以下对函数fun的调用语句中,正确的是()

    • A、fun("abc",3.0);
    • B、t=fun(’D’,16.5);
    • C、fun(’65’,2.8);
    • D、fun(32,32);

    正确答案:D