首页 > 其他 > 详细

C基础--函数指针作为函数的参数

时间:2015-09-23 10:06:23      阅读:225      评论:0      收藏:0      [点我收藏+]
#include <stdio.h>


int add(int a, int b)
{
    printf("%d\t%d\n", a, b);
    return a+b;
}
char max_ch(char *str)
{
    int max, i;
    max = 0;
    for (i = 0; str[i] != \0; i++)
        if (str[i] > str[max])
            max = i;

    return str[max];
}
int main1(void)
{
    int res;
    int (*p)(int, int);
    p = add;
    res = p(3, 5);
    //res = add(3, 5);
    printf("%d\n", res);

    char (*q)(char *);
    q = max_ch;
    printf("%c\n", q("hello"));
    return 0;
}





void ox_say(char *str)
{
    printf("%s\n", str);
}
void dog_say(char *str)
{
    printf("%s\n", str);
}
void man_say(char *str)
{
    printf("%s\n", str);
}

void say_what(void (*p)(char *), char *s)
{
    //...
    p(s);
}
//函数指针作为函数的参数
int main(void)
{
    int num;
    while (1) {
        scanf("%d", &num);
        switch (num)
        {
            case 1:say_what(ox_say, "mn mn");break;
            case 2:say_what(dog_say, "wang wang");break;
            case 3:say_what(man_say, "Oh, yeah");break;
        }
    }
    return 0;
}

 

C基础--函数指针作为函数的参数

原文:http://www.cnblogs.com/zhuyaguang/p/4831186.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!