C语言返回函数指针函数的示例代码

#include <stdio.h>
#include <string.h>


int CE(char *c, char *e){
    if (strcmp(c, "你好") == 0) {
        strcpy(e, "Hello
");
        return 1;
    }
    strcmp(e, "Sorry
");
    return 0;
}

int EC(char *e, char *c){
    if (strcmp(e, "Hello") == 0) {
        strcpy(c, "你好
");
        return 1;
    }
    strcmp(c, "对不起
");
    return 0;
}

// 返回函数指针的函数
int (*frp(int i))(char *, char *){
    if(i == 0)
        return CE;
    if(i == 1)
        return EC;
    
    return NULL;
}



int main()
{
    char result[100];
    frp(0)("你好",result);
    printf("%s", result);
    frp(1)("Hello", result);
    printf("%s",result);
    
    printf("over!
");
    
    return 0;
}
原文地址:https://www.cnblogs.com/sidianok/p/15371300.html