niusouti.com

已定义以下函数      Int fun(int *p)      {return *p;}  则fun函数返回值是()A、不确定的值B、一个整数C、形参P中存放的值D、形参P的地址值

题目

已定义以下函数      Int fun(int *p)      {return *p;}  则fun函数返回值是()

  • A、不确定的值
  • B、一个整数
  • C、形参P中存放的值
  • D、形参P的地址值

相似考题

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

更多“已定义以下函数      Int fun(int *p)      {return *p;}  则fun函数返回值是()A、不确定的值B、一个整数C、形参P中存放的值D、形参P的地址值”相关问题
  • 第1题:

    有以下函数:

    fun(char *p)

    {return p;}

    该函数的返回值是

    A.无确切值

    B.形参p中存放的地址值

    C.一个临时存储单元的地址

    D.形参p自身的地址值


    正确答案:B

  • 第2题:

    已定义下列函数:

    int fun(int*p)

    {return*p;)

    fun函数返回值是( )。

    A.不确定的值

    B.一个整数

    C.形参p中存放的值

    D.形参p的地址值


    正确答案:B
    解析:由函数int fun(int *p){return *p;}的定义可知,返回值为整型指针变量p所指向的数据。

  • 第3题:

    已知“int*p;fun(p);”,其中,函数fun没有返回值,且其形参定义为引用调用方式,则下列给出的fun函数原型中正确的是()。

    A.voidfun(inta[]);

    B.voidfun(int*&a);

    C.voidfun(int&a[]);

    D.voidfun(int&*a);


    正确答案:B

  • 第4题:

    以下程序段是函数返回a所指数组中最小的值所在的下标值,请在下划线处填空。

    fun(int *a,int n)

    {

    int i,j=0,p;

    p=j;

    for(i=j;i<n;i++)

    if(a[i]<a[p]) 【 】;

    return(p);

    }


    正确答案:p=i
    p=i

  • 第5题:

    有以下函数 char *fun(char*p) { return p; } 该函数的返回值是_____。

    A.无确切的值

    B.形参p中存放的地址值

    C.一个临时存储单元的地址

    D.形参p自身的地址值


    正确答案:B
    解析:p本身就是一个字符型指针变量,返回p也就是返回变量p中存放的地址值。

  • 第6题:

    以下程序段中,能够通过调用函数fun(),使main()函数中的指针变量p指向一个合法的整型单元的是( )。

    A.main() {int*p; fun(p); … } int fun(int*p) {int s; p=&s; }

    B.main {int*p fun(&p); … } iht fun(int**p) {int s; *p=&s;}

    C.main() {int*p; fun(&p); } int fun(int**p) {*p=(int*)malloc(2);}

    D.main() {int*p; fun(p); } int fun(int*p) {p=(int*)malloc(sizeo(int));}


    正确答案:C
    解析:在选项A中,main()函数中定义了一个指针变量p,调用fun()函数时把p传给形参p,在函数中让p指向局部变量s,由于函数调用返回后,局部变量s将被释放,因此无法实现让实参p指向一个整型单元,故选项A错误。选项B中实现的也是让实参p,指向一个在函数fun()中定义的局部变量s,因此也是错误的;选项C在函数fun()中分配了两个字节的内存单元并把首地址赋值给形参p指向的变量,即main()函数的指针变量p中,由于整型变量占两个字节,因此,选项C是正确的;选项D在主函数中定义了一个指针地址变量p,并把指针变量的值传给形参变量p,在fun()函数中分配了一个整型单元并把首地址赋值给行参指针变量p,由于C语言中变量作为参数是传值的,所以并没有改变对应实参指针变量的值,因此选项D也是错误的。所以,C选项为所选。

  • 第7题:

    以下函数fun的功能是返回str所指字符串中以形参c中字符开头的后续字符串的首地址,例如,str所指字符串为Hello!,c中的字符为e,则函数返回字符串ello!的首地址。若str所指字符串为空或不包含c中的字符,则函数返回NULL,请填空。char *fun(char *str,char c){ int n=0; char *p=str; if(p!=NULL) while(p[n]!=c&&p[n]!=’\0’) n++; if(p[n]==’\0’) return NULL; return();}


    正确答案:p+n
    在本题中,函数fun的功能是返回str所指字符串中以形参c中字符开头的后续字符串的首地址。
    在本题的程序中,fun函数带有两个形参,其中一个是指针str,它指向字符串的首地址,另一个是字符变量c。程序首先定义了一个整型变量n,从程序中可知,它是字符串str中参数c相对于首地址的偏移量,然后定义了一个指针变量p,指向字符串str的首地址,然后执行条件语句,如果字符串不为空,则执行循环语句,循环结束的条件是要么字符串结束,要么找到形参c中对应的字符。根据循环结束的条件我们可以判断,其非死循环,循环结束后,从程序中可以看出,判断循环结束的原因是否因为字符串结束而结束的,如果是,说明没找到形参c中对应的字符,返回NULL。
    如果不是,则说明是因为找到了形参c中对应的字符而结束循环的。根据题目要求,需要返回以形参c中字符开头的后续字符串的首地址,而这时以形参c中字符开头的后续字符串的首地址为p+n。

  • 第8题:

    已定义以下函数:

    fun函数的返回值是( )。

    A.一个整数

    B.不确定的值

    C.形参P中存放的值

    D.形参P的地址值


    正确答案:A
    返回值为指针变量指向的数据,该数据已被定义为整型。因此A选项正确。

  • 第9题:

    有函数char fun(char *p){ return p; }该函数的返回值是( )。

    A.编译出错

    B.形参p中存放的地址值

    C.一个临时存储单元的地址

    D.形参p自身的地址值


    正确答案:A
    解析:p的类型和函数返回值的类型不一致,函数返回类型是char,而p是char*,编译出错。

  • 第10题:

    若有函数 char*func(char *p) { … return p; } 则该函数的返回值是 ______。

    A.无确切的值

    B.形参p中存放的地址

    C.一个临时存储单元的地址

    D.形参p自身的地址


    正确答案:B

  • 第11题:

    单选题
    若已经定义了如下函数  FUN(*p)  { return *p; }  则该函数的返回值是()。
    A

    不确定的值

    B

    形参p中存放的值

    C

    形参p所指的存储单元中的值

    D

    形参p的地址值


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

  • 第12题:

    单选题
    已定义以下函数      Int fun(int *p)      {return *p;}  则fun函数返回值是()
    A

    不确定的值

    B

    一个整数

    C

    形参P中存放的值

    D

    形参P的地址值


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

  • 第13题:

    已定义以下函数: int fun(int*p) {return*P;) fun函数返回值是( )。

    A.不确定的值

    B.一个整数

    C.形参P中存放的值

    D.形参P的地址值


    正确答案:B
    解析:p中存放的是地址值,但是*p间接引用了p指向的整数值。因此返回一个整数。

  • 第14题:

    以下程序中,能够通过调用函数fun,使main函数中的指针变量p指向一个合法的整型单元的是

    A.main( ) { int *p; fun(p); ┆ } int fun(int *p) { int s; p=&s;}

    B.main( ) { int *p; fun(&p); ┆ } int fun(int **p) { int s; *p=&s;}

    C.#include<stdlib.h> main( ) { int *p; fun(&p); ┆ } int fun(int **p) { *p=(int*)malloc(2);}

    D.#include<stdlib.h> main( ) { int *p; fun(p); ┆ } int fun(int *p) { p=(int*)malloc(sizeof(int));}


    正确答案:D

  • 第15题:

    阅读以下函数说明和C语言函数,将应填入(n)的字句写在答题纸的对应栏内。

    [说明1]

    函数int fun1(int m, int n)的功能是:计算并返回正整数m和n的最大公约数。

    [函数1]

    int fun1(int m, int n)

    {

    while ((1)) {

    if (m>n) m=m-n;

    else n=n-m;

    }

    (2);

    }

    [说明2]

    函数long fun2(char*str)的功能是:自左至右顺序取出非空字符串str中的数字字符形成一个十进制整数(最多8位)。

    例如,若字符串str的值为“f3g8d5.ji2e3p12fkp”,则函数返回值为3852312。

    [函数2]

    long fun2(char *str)

    {

    int i=0;

    long k=0;

    char *p=str;

    while (*p!='\0' &&(3)) {

    if (*p>='0' && *p<='9') {

    k=(4)+ *p - '0';

    ++i;

    }

    (5);

    }

    return k;

    }


    正确答案:(1)m!=n;(2)return n或return m;(3)i8;(4)k*10;(5)p++
    (1)m!=n;(2)return n或return m;(3)i8;(4)k*10;(5)p++

  • 第16题:

    阅读下列说明和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。

  • 第17题:

    已定义以下函数: int fun(int *p) { return *p;} 函数fun的返回值是( )。

    A.不确定的值

    B.一个整数

    C.形参p中存放的值

    D.形参p的地址值


    正确答案:B
    解析:函数值的类型应当是在定义函数时指定的。在定义函数时对函数值说明的类型一般和return语句中的表达式类型一致,即函数类型决定返回值的类型。此题中定义函数类型为int型,故函数返回值也为整型。

  • 第18题:

    若有如下调用函数: int sub(int *t) { return (t); } 该函数的返回值是( )

    A.形参t中存放实参变量的地址值

    B.形参t自身的地址值

    C.指针变量t所指的实参变量的值

    D.随机的值


    正确答案:A

  • 第19题:

    有以下函数: charfun(char*D) {returnP;} 该函数的返回值是( )。

    A.无确切的值

    B.形参p中存放的地址值

    C.一个临时存储单元的地址

    D.形参p自身的地址值


    正确答案:A
    在程序中因为fun函数的返回值为char,而p是指向char的指针变量,因此类型不匹配,故选择A选项。

  • 第20题:

    已定义以下函数 int fun(int *p) {return *p;} fun函数返回值是______。

    A.不确定的值

    B.—个整数

    C.形参p中存放的值

    D.形参p的地址值


    正确答案:B
    解析:函数值的类型应当是庄定义函数时指定的。在定义函数时对函数值说明的类型—般和return语句中的表达式类型—致,即函数类型决定返回值的类型。此题中定义函数类型为int型,故函数返回值也为整型。

  • 第21题:

    以下程序中,能够通过调用函数fun,使main函数中的指针变量p指向一个合法的整型单元的是

    A.main() { int *p; fun(p); … } int fun(int *p) { ints; p=&s;}

    B.main() { int *p; fun(&p); … } int fun(int **p) { int s; *p=&s;)

    C.#include main() { int *p; fun(&p); … } int fun(int **p) *p=(int*)malloc(2);}

    D.#include main() { iht *p; fun(p); … } iht fun(iht *p) { p=(int*)malloc(sizeof(int)); }


    正确答案:C
    解析:本题考核的知识点是指针变量作为函数的参数以及变量的作用域。在选项A中,main()函数中定义了一个指针变量p,调用fun()函数时把p传给形参p,在函数中让p指向局部变量s,由于函数调用返回后,局部变量s将被释放,因此无法实现让实参p指向一个整型单元,故选项A错误.选项B中实现的也是让实参p,指向一个在函数fun()定义的局部变量s,因此也是错误的;选项C在函数fun()中分配了两个字节的内存单元并把首地址赋值给形参p指向的变量,即main()函数的指针变量p中,由于整型变量占两个字节,因此,选项C是正确的;选项D在主函数中定义了一个指针地址变量p,并把指针变量的值传给形参变量p,在fun()函数分配了一个整型单元并把首地址赋值给行参指针变量p,由于C语言中变量作为参数是传值的,所以并没有改变对应实参指针变量的值,因此选项D也是错误的.所以,C选项为所选。

  • 第22题:

    若已经定义了如下函数  FUN(*p)  { return *p; }  则该函数的返回值是()。 

    • A、不确定的值
    • B、形参p中存放的值
    • C、形参p所指的存储单元中的值
    • D、形参p的地址值

    正确答案:C

  • 第23题:

    单选题
    已定义以下函数 int fun(int*p) {  return *p; } fun函数返回值是(  )。
    A

    一个整数

    B

    不确定的值

    C

    形参p中存放的值

    D

    形参p的地址值


    正确答案: A
    解析:
    题目中fun()函数的返回表达式是*p,是形参p所指内容的值,因为p为int型指针,所以该值是一个整数。答案选择A选项。