更多“ 有以下程序:则以下函数调用语句错误的是( )。A.B.C.D. ”相关问题
  • 第1题:

    有以下程序:

    则以下函数调用语句错误的是( )。

    A.k:f(a,B.;

    B.k:add(a,B.;

    C.k=(*f)(a,B.;

    D.k=*(a,B.;


    正确答案:D
    D选项中+f(a,b)表示调用后返回一个指向整型数据的地址指针,即该函数的返回值为指针类型,所以不能将其赋值给整形变量k。

  • 第2题:

    以下程序有语法错误,有关错误原因的正确说法是 main() { int G=5,k; void prt_char(); … k=prt_char(G); …}

    A.语句void prt_char();有错,它是函数调用语句,不能用void说明

    B.变量名不能使用大写字母

    C.函数说明和函数调用语句之间有矛盾

    D.函数名不能使用下划线


    正确答案:C
    解析:在C语言中,对于返回值是其他类型的函数,若把函数定义放在调用之后,应该在调用之前对函数进行说明,或称为函数原型说明。函数说明句中的类型必须与函数返回类型一致,函数说明可以是一条独立的语句,也可以与普通变量一起出现在同一个语句中。对于函数值为整型的函数的说明,prt_char中定义时是void类型,那天返回值与k=prt_char();矛盾。所以本题的错误之处在于“函数说明和函数调用语句之间有矛盾。”

  • 第3题:

    以下程序有语法性错误,有关错误原因的正确说法是() main() { int g=5,K; void prt_char(); … K=prt_char(g); … }

    A.语句void prt_char();有错,它是函数调用语句,不能用void说明

    B.变量名不能使用大写字母

    C.函数说明和函数调用语句之间有矛盾

    D.函数名不能使用下划线


    函数声明和函数调用语句之间有矛盾

  • 第4题:

    有以下程序:

    则以下函数调用语句错误的是( )。.

    A.k=f(a,B.;

    B.k=add(a,B.;

    C.k=(*f)(a,B.;

    D.k={f(a,B.;


    正确答案:D
    s与()的优先级,()的优先级高于*,因为(+f)()定义函数指针f。f指向函数的指针。f=add,将函数8dd()的首地址赋给指针f,所以调用函数add()可以写为f(),其返回值是整型,不是指针类型,不能用t取指针指向的内存单元的数据,故k=*f(a,b)的调用方式错误。答案为D选项。

  • 第5题:

    以下程序有语法错误,有关错误原因的正确说法是 main() { int G=5,k; void prt_char(); ... k=prt_char(G); ... }

    A.语句 void prt_char();有错,它是函数调用语句,不能用void说明

    B.变量名不能使用大写字母

    C.函数说明和函数调用语句之间有矛盾

    D.函数名不能使用下划线


    C