能把函数处理结果的二个数据返回给主调函数,在下面的方法中不正确的是()A、return这二个数B、形参用二个元素的数组C、形参用二个这种数据类型的指针D、用二个全局变量

题目

能把函数处理结果的二个数据返回给主调函数,在下面的方法中不正确的是()

  • A、return这二个数
  • B、形参用二个元素的数组
  • C、形参用二个这种数据类型的指针
  • D、用二个全局变量

相似考题

4.●试题三阅读下列说明和C代码,将应填入(n)处的字句写在答题纸的对应栏内。【说明】本题给出四个函数,它们的功能分别是:1.int push(PNODE *top,int e)是进栈函数,形参top是栈顶指针的指针,形参e是入栈元素。2.int pop(PNODE *top,int *e)是出栈函数,形参top是栈顶指针的指针,形参e作为返回出栈元素使用。3.int enQueue(PNODE *tail,int e)是入队函数,形参tail是队尾指针的指针,形参e是入队元素。4.int deQueue(PNODE *tail,int *e)是出队函数,形参tail是队尾指针的指针,形参e作为返回出队元素使用。以上四个函数中,返回值为0表示操作成功,返回值为-1表示操作失败。栈是用链表实现的;队是用带有辅助结点(头结点)的单向循环链表实现的。两种链表的结点类型均为:typedef struct node{int value;struct node *next;}NODE,*PNODE;【函数1】int push(PNODE *top,int e){PNODE p=(PNODE)malloc (sizeof(NODE));if (!p) return-1;p-> value =e;(1) ;.*top=p;return 0;}【函数2】int pop (PNODE *top,int *e){PNODE p=*top;if(p==NULL)return-1;*e=p->value;(2) ;free(p);return 0;}【函数3】int enQueue (PNODE *tail,int e){PNODE p,t;t=*tail;p=(PNODE)malloc(sizeof(NODE));if(!p)return-l;p->value=e;p->next=t->next;(3) ;*tail=p;return 0;}【函数4】int deQueue(PNODE *tail,int *e){PNODE p,q;if((*tail)->next==*tail)return -1;p=(*tail)->next;q=p->next;*e=q->value;(4) =q->next;if(*tail==q) (5) ;free(q);return 0;}

参考答案和解析
正确答案:A
更多“能把函数处理结果的二个数据返回给主调函数,在下面的方法中不正确的是()A、return这二个数B、形参用二个元素的数组C、形参用二个这种数据类型的指针D、用二个全局变量”相关问题
  • 第1题:

    若用数组名作为函数调用的实参,传递给形参的是( )。

    A、数组的首地址

    B、数组中第一个元素的值

    C、数组全部元素的值

    D、数组元素的个数


    参考答案A

  • 第2题:

    阅读下列说明和C代码,将应填入(n)处的字句写在对应栏内。

    【说明】

    本题给出四个函数,它们的功能分别是:

    1.int push(PNODE*top,int e)是进栈函数,形参top是栈顶指针的指针,形参e是入栈元素。

    2.int pop(PNODE*top,int*e)是出栈函数,形参top是栈顶指针的指针,形参e作为返回出栈元素使用。

    3.int enQueue(PNODE*tail,int e)是入队函数,形参tail是队尾指针的指针,形参e是入队元素。

    4.int deQueue(PNODE*tail,int*e)是出队函数,形参tail是队尾指针的指针,形参e作为返回出队元素使用。

    以上四个函数中,返回值为。表示操作成功,返回值为-1表示操作失败。

    栈是用链表实现的;队是用带有辅助结点(头结点)的单向循环链表实现的。两种链表的结点类型均为:

    typedef struct node {

    int value;

    struct node * next;

    } NODE, * PNODE;

    【函数1】

    int push(PNOOE * top,int e)

    {

    PNODE p = (PNODE) malloc (sizeof (NODE));

    if (! p) return-1;

    p->value=e;

    (1);

    *top=p;

    return 0;

    }

    【函数2】

    int pop (PNODE * top,int * e)

    {

    PNODE p = * top;

    if(p == NULL) return-1;

    * e = p->value;

    (2);

    free(p);

    return 0;

    }

    【函数3】

    int enQueue (PNODE * tail,int e)

    { PNODE p,t;

    t= *tail;

    p = (PNODE) malloc(sizeof(NODE));

    if(!p) return-1;

    p->value=e;

    p->next=t->next;

    (3);

    * tail = p;

    return 0;

    }

    【函数4】

    int deQueue(PNODE * tail,int * e)

    { PNODE p,q;

    if(( * tail)->next == * tail) return-1;

    p= (* tail)->next;

    q = p ->next;

    * e =q ->value;

    (4)=q->next;

    if(,tail==q) (5);

    free(q);

    return 0;

    }


    正确答案:(1)p->next=*top  (2)*top=p->next或* top=(*top)->next (3)t->next=p或(*tail)->next=p (4)p->next或(*tail)->next->next (5)*tail=p或*tail=(*tail)->next
    (1)p->next=*top  (2)*top=p->next或* top=(*top)->next (3)t->next=p或(*tail)->next=p (4)p->next或(*tail)->next->next (5)*tail=p或*tail=(*tail)->next 解析:(1)插入结点p后,p应当指向插入前头结点,所以填入p ->next=*top。(2)出栈后,头指针应指向它的下一结点,所以填入 *top=p->next或*top=(*top)->next。(3)入队时,需要将结点插入队尾,所以应当填入(*tail)->next=p或t->next=p(t也指向尾结点)。(4)出队时,需要删除队头结点,通过(*tail)->next可以得到对队头结点的引用。(4)处是正常删除队头结点的情况,空格处应填入头结点指向下一结点的指针,即p->next或(*tail)->next->next。(5)处是需要考虑的特殊情况,即队列中最后一个元素出队后,要更新队尾指针,即填入*tail=p或*tail=(*tail)->next。

  • 第3题:

    若用数组名作为函数调用的实参,传递给形参的是(44)。

    A.数组的首地址

    B.数组中第一个元素的值

    C.数组全部元素的值

    D.数组元素的个数


    正确答案:A
    解析:使用数组名字作为参数传递的时候,传递的是数组的首地址。

  • 第4题:

    若有函数

    Void fun( double a[ ],int *n)

    { …… }

    以下叙述中正确的是

    A)调用fun函数时只有数组执行按值传送,其他实参和形参之间执行按地址传送

    B)形参a和n都是指针变量

    C)形参a是一个数组名,n是指针变量

    D)调用fun函数时将把double型实参数组元素一一对应地传送给形参a数组


    正确答案:C
    【答案】C
    【知识点】函数参数传递
    【解析】a是形参数组的名字,接收从调用函数中传过来的实参数组的首地址,n是指针变量。

  • 第5题:

    用数组名作为函数调用的实参,则传递给形参的是( )。

    A.数组中所有元素的值

    B.数组的第一个数据

    C.数组的首地址

    D.数组元素的个数


    正确答案:C
    数组名是一个指针常量,它的值就是数组的地址,也就是数组首元素地址。

  • 第6题:

    若用数组名作为函数调用的实参,传递给形参的()。

    • A、 数组的首地址
    • B、 数组中第一个元素的值
    • C、 数组全部元素的值
    • D、 数组元素的个数

    正确答案:A

  • 第7题:

    若用数组名作为函数调用的实参,传递给形参的是数组中的第一个元素的值。()


    正确答案:错误

  • 第8题:

    若用数组名作为调用函数的实参,则传递给形参的是()

    • A、数组存储首地址
    • B、数组的第一个元素值
    • C、数组中全部元素的值
    • D、数组元素的个数

    正确答案:A

  • 第9题:

    函数viodfun(doublea[],int*n){………}叙述中正确的是()。()

    • A、调用fun函数时只有数组执行按值传送,其他实参和形参之间执行按地址传送
    • B、形参a和n都是指针变量
    • C、形参a是一个数组名,n是指针变量
    • D、调用fun函数时将把double型实参数组元素一一对应地传送给形参a数组

    正确答案:C

  • 第10题:

    单选题
    若用数组名作为函数调用的实参,传递给形参的()。
    A

     数组的首地址

    B

     数组中第一个元素的值

    C

     数组全部元素的值

    D

     数组元素的个数


    正确答案: C
    解析: 暂无解析

  • 第11题:

    单选题
    若用数组名作为函数调用的实参,传递给形参的是()。
    A

    数组的首地址

    B

    数组第一个元素的值

    C

    数组中全部元素的值

    D

    数组元素的个数


    正确答案: D
    解析: 暂无解析

  • 第12题:

    单选题
    对数组名作函数的参数,下面描述正确的是(  )。
    A

    数组名作函数的参数,调用时将实参数组复制给形参数组

    B

    数组名作函数的参数,主调函数和被调函数共用一段存储单元

    C

    数组名作参数时,形参定义的数组长度不能省略

    D

    数组名作参数,不能改变主调函数中的数据


    正确答案: B
    解析:
    数组名作为函数参数,传递的是数组的首地址,主调函数和被调函数共用一段存储单元,如果被调函数中对数组进行操作,会改变主调函数中的数据。

  • 第13题:

    关于C语言的函数参数,下列叙述中正确的是_________。

    A只有在发生函数调用时,函数中的形参才被分配内存单元

    B实参对形参的数据传递是单向的“值传递”,因为在被调用的函数中,没有办法去修改主调函数中任何变量的值

    C形参变量所占用的内存单元位于堆中

    D如果形参是数组名,则传递的是每个数组元素的值


    参考答案:A

  • 第14题:

    在下列叙述中,错误的一条是 ( )

    A.scanf( )函数可以用来输入任何类型的多个数据

    B.数组名作函数参数时,也采用“值传送”方式

    C.如果形参发生改变,不会改变主调函数的实参值

    D.函数的实参与形参的类型应一致


    正确答案:B

  • 第15题:

    若有函数 void fun(double a[]。int*n) {…} 以下叙述中正确的是( )。

    A.调用fun函数时只有数组执行按值传送,其他实参和形参之间执行按地址传送

    B.形参a和n都是指针变量

    C.形参a是一个数组名,n是指针变量

    D.调用fun函数时将把double型参数组元素一一对应地传送给形参a数组


    正确答案:B
    本题考查函数中数组和指针的传值,数组a[]在参数传递时,是传递的数组a的首地址,所以形参a和n都是指针变量。。

  • 第16题:

    以下关于C语言的函数参数叙述中,说法正确的是(28)。

    A.只有在发生函数调用时,函数中的形参才被分配内存单元

    B.如果形参是数组名,则传递的是每个数组元素的值

    C.形参变量所占用的内存单元位于堆中

    D.实参对形参的数据传递是单向的“值传递”,因此,在被调用的函数之中,无法去修改主调函数中任何变量的值


    正确答案:A
    解析:定义函数时函数名后括号中的变量名称为形式参数。调用函数时函数名后括号中的表达式称为实际参数。形参在未出现函数调用时,并不占内存中的存储单元。只有在发生函数调用时,函数中的形参才被分配内存单元。在调用结束后,形参所占的内存单元也被释放。因此选项A说法正确。通常认为数组名是一个地址常量,当数组名作为形参时,则传递的是数组的起始地址,而不是每个数组元素的值。由此可见选项B说法错误。操作系统内存的栈空间用于保存运行的上下文、函数调用时的局部变量和形参。因此选项C说法错误。C语言规定,实参对形参的数据传递是“值传递”,即单向传递(实参的值可以传给形参,形参的值不能传给实参)。在内存中,实参单元与形参单元是不同的单元。在被调用的函数当中,函数返回值将影响主调函数中相关变量的值。由此可见,选项D说法错误。

  • 第17题:

    若用数组名作为函数调用的实参,传递给形参的是()。

    A数组的首地址

    B数组中第一个元素的值

    C数组中全部元素的值

    D数组元素的个数


    A

  • 第18题:

    有关数组名作为函数参数说法错误的是()。

    • A、用数组名作为函数参数时,要求形参和实参类型相同
    • B、用数组名作为函数参数时,实参传给形参的是数组的首地址
    • C、用数组名作为函数参数时,实参将数组各元素的值传给形参
    • D、用数组名作为函数参数时,实参和形参共享同一数组

    正确答案:C

  • 第19题:

    若用数组名作为函数调用的实参,传递给形参的是数组的()。

    • A、首地址
    • B、第一个元素的值
    • C、全部元素值
    • D、元素的个数

    正确答案:A

  • 第20题:

    用数组名作为函数调用的实参,则传递给形参的是()

    • A、数组中所有元素的值
    • B、数组的第一个数据
    • C、数组的首地址
    • D、数组元素的个数

    正确答案:C

  • 第21题:

    若用数组名作为函数调用的实参,传递给形参的是()。

    • A、数组的首地址
    • B、数组中第一个元素的值
    • C、数组中的全部元素的值
    • D、数组元素的个数

    正确答案:A

  • 第22题:

    单选题
    若用数组名作为函数调用的实参,传递给形参的是数组的()。
    A

    首地址

    B

    第一个元素的值

    C

    全部元素值

    D

    元素的个数


    正确答案: A
    解析: 暂无解析

  • 第23题:

    单选题
    若用数组名作为函数调用的实参,传递给形参的是()。
    A

    数组的首地址

    B

    数组中第一个元素的值

    C

    数组中全部元素的值

    D

    数组元素的个数


    正确答案: C
    解析: 暂无解析