指针调用函数实例

时间: 1ms        内存:128M

描述:

该题目主要考察大家对通过指针调用函数的掌握情况,给出两个数,输出它们之间的最大值与最小值。

部分代码已给出,请补全缺少的部分。



#include <stdlib.h>

int max(int a,int b)

{

    return a>b?a:b;

}

int min(int a,int b)

{

    return a>b?b:a;

}

int main()

{

    int a,b;

    int (*p)(int,int),(*q)(int,int);

    scanf("%d%d",&a,&b);

/* 缺少的部分 */



    printf("max:%d min:%d\n",p(a,b),q(a,b));

    return 0;

}

输入:

输入数据只有一行,包含两个整数a与b。

输出:

输出只有一行,即这两个数的最大值与最小值,中间用空格分隔。

示例输入:

3 4

示例输出:

max:4 min:3

提示:

参考答案(内存最优[1092]):


#include <stdio.h>
#include <stdlib.h>

int max(int a,int b)
{
    return a>b?a:b;
}

int min(int a,int b)
{
    return a>b?b:a;
}

int main()
{
    int a,b;
    int (*p)(int,int),(*q)(int,int);
    scanf("%d%d",&a,&b);
       p=max;
    q=min;
 
    printf("max:%d min:%d\n",p(a,b),q(a,b));
    return 0;
}

参考答案(时间最优[0]):


#include <stdio.h>
#include <stdlib.h>

int max(int a,int b)
{
    return a>b?a:b;
}

int min(int a,int b)
{
    return a>b?b:a;
}

int main()
{
    int a,b;
    int (*p)(int,int),(*q)(int,int);
    scanf("%d%d",&a,&b);
    p=max,q=min;
 
    printf("max:%d min:%d\n",p(a,b),q(a,b));
    return 0;
}

题目和答案均来自于互联网,仅供参考,如有问题请联系管理员修改或删除。