//_40_函数指针
//_40_main.cpp
//实例:比较用户输入的两个串
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void check(char *a,char *b,int(*cmp)(const char *,const char *));
int main()
{
char s1[80];
char s2[80];
//p是一个指针变量,所指向的函数带有两个const char *类型的参数
int (*p)(const char *,const char *);//定义一个函数指针
//函数strcmp包含在头文件<string.h>中,功能是比较它的两个函数是否相等
p=strcmp;//将函数strcmp的地址赋给函数指针p
printf("输入两个字符串:\n");
gets(s1);
gets(s2);//输入字符串s1和s2
//调用字符串对s1和s2进行比较
check(s1,s2,p);//通过指针变量p传递函数strcmp的地址
system("pause");
return 0;
}
void check(char *a,char *b,int(*cmp)(const char *,const char *))
{
printf("测试是否相等:\n");
if(!(*cmp)(a,b))
printf("结果:相等\n");
else
printf("结果:不相等\n");
}