niusouti.com

请将以下程序中的函数声明语句补充完整。#include <stdio.h>int 【 1 2 】 ;main(){ int x,y,(*p)();scanf("%d%d",&x,&y);p=max;printf("%d\n",(*p)(x,y));}int max(int a,int b){ return(a>b?a:b);}

题目

请将以下程序中的函数声明语句补充完整。

#include <stdio.h>

int 【 1 2 】 ;

main()

{ int x,y,(*p)();

scanf("%d%d",&x,&y);

p=max;

printf("%d\n",(*p)(x,y));

}

int max(int a,int b)

{ return(a>b?a:b);}


相似考题
参考答案和解析
正确答案:

更多“请将以下程序中的函数声明语句补充完整。#include &lt;stdio.h&gt;int 【 1 2 】 ;main(){ int ”相关问题
  • 第1题:

    请将以下程序中的函数声明语补充完整。 include int【】 main(){int x,y,(*p)(); sccanf("

    请将以下程序中的函数声明语补充完整。

    include<stdio.h>

    int【 】

    main()

    { int x,y,(*p)();

    sccanf("%d%d",&x,&y);

    p=max;

    printf(%d\n",(*p)(x,y));

    }

    int max(int a,int b)

    {return(a>b?a:b);}


    正确答案:max(int aint b)
    max(int a,int b) 解析:在C语言中,除了主函数外,对于用户定义的函数都遵循“先定义,后使用”的规则,若把函数定义放在调用之后,应该在调用之前对函数进行说明(或称为函数原型说明)。
    函数的说明形式为:
    类型名 函数名(参数类型1,参数类型2……)
    本题是通过max()函数来求出a和b中较大的数,由于max()函数的位置在main()函数之后,想要在main()函数中调用max()函数,就必须先在main()函数之前对max()函数进行说明,因为当在所有函数外部、被调用之前说明函数时,在对函数进行说明的语句后面所有位置上都可以对该函数进行调用。所以,在横线上应该填上被调函数的说明语句即 max(int a,int b) 。

  • 第2题:

    若下列程序运行时输出结果为 1,A,10.1 2,B,3.5 请将程序补充完整。 include using name

    若下列程序运行时输出结果为

    1,A,10.1

    2,B,3.5

    请将程序补充完整。

    include<iostream>

    using namespace std;

    int main()

    {

    void test(int,char,double______);

    test(1,'A',10.1);

    test(2,'B');

    return 0;

    }

    void test(int a,char b,double c)

    {

    cout<<a<<','<<b<<','<<c<<end1;

    }


    正确答案:=3.5
    =3.5 解析:本题考查了函数默认参数的应用。本题中第一次调用 rest()函数数值1,A,10.1;第二次调用少了一个实参,却要求输出 2,B,3.5,由此分析,应将test()函数的第三个参数声明为默认参数。且默认为3.5,才能达到要求的输出结果。故应填入=3.5或者c=3.5。

  • 第3题:

    有以下程序:includevoid fun(int* s,int* * d){* *d=*(s+2);}main(){ inta[]={1,2,3,

    有以下程序: #include <stdlib.h> void fun(int * s,int * * d) { * *d=*(s+2); } main() { int a[]={1,2,3,4,5},*b; b=(int *)malloc(sizeof(int)); fun(a,&B) ; printf("%d\n",*b+1); } 程序的输出结果是( )

    A.2

    B.3

    C.4

    D.5


    正确答案:C

  • 第4题:

    有以下程序includevoid f(int *p,int *q);main(){ int m=1,n=2,*r=&m;f(r, &n

    有以下程序 #include<stdio.h> void f(int *p,int *q); main() { int m=1,n=2,*r=&m; f(r, &n); printf("%d,%d",m,n); } void f(int*p,int*q) {p=p+1; *q=*q+1;) 程序运行后的输出结果是______。

    A.1,3

    B.2,3

    C.1,4

    D.1,2


    正确答案:A
    解析:本题主要考查函数实参和形参之间的传递,C语言规定,实参变量对形参变量的数据传递是“值传递”,即单向传递,只能由实参传绐形参,而不能由形参传回来给实参。f(r&n)把n的地址传递给q,通过地址传递的函数可以有返回值,因此,n的值为q的返回值3,又因为p是形参变量没有返回值,所以m的值没有改变,因此,选项A是正确的。

  • 第5题:

    以下程序段中,能够通过调用函数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));}


    正确答案:C