C语言的回调函数

//1.输入一句英文句子,将其中所有单词首字符转换成大写,用回调函数实现。(修改单词功能写成回调函数)

//1>实现功能的的小写,转换为大写

void changeFunc(char *str)

{

    if (*str>='a' && *str<='z') {

        *str -= 32;

    }

}

//2>回调函数的使用

void modifyFunc(char *str,void (*p)(char *))

{

    p(str);

    while (*str) {

        if (!isalnum(*str) && isalnum(*(str+1))) {

            p(str+1);

        }

        str++;

    }

}

int main(int argc, const char * argv[])

{

    char string[] ="my dream is ,..bec3432oming a good programmer.";

    modifyFunc(string, changeFunc);

    printf("%s",string);

    return 0;

}

原文地址:https://www.cnblogs.com/yuanyuandachao/p/3342607.html