福步论坛外贸交流手机版,免费seo视频教程,全国十大网站建设公司排名,北京国税局网站做票种核定基本介绍
回调函数:形参中包含另一个函数的函数指针 用函数指针接收另一个函数
案例 代码解析
具体代码
#includestdio.h
#includestdlib.h
//回调函数--//函数原型
int getRand();
int *produce(int*arr,int len,int(*get)());
int main()
{int arr[10…基本介绍
回调函数:形参中包含另一个函数的函数指针 用函数指针接收另一个函数
案例 代码解析
具体代码
#includestdio.h
#includestdlib.h
//回调函数--//函数原型
int getRand();
int *produce(int*arr,int len,int(*get)());
int main()
{int arr[10];int lensizeof(arr)/sizeof(int);int i;//resultarrarr[0]int*resultproduce(arr,len,getRand);//getRand传入函数名,函数名是函数的首地址//打印数组for(i0;ilen;i){//result是数组的首地址//i移动指针printf(arr[%d]%d address%p self-address%p\n,i,*resulti,resulti,result);}getchar();return 0;
}
//获取0-9的随机数
int getRand()
{return rand()%10;//0--99
}
//将随机数赋值给数组
int *produce(int*arr,int len,int(*get)())
{int i;for(i0;ilen;i){//arr[i](*get)();arr[i]get();}return arr;
}练习–统计字符串英文个数
#includestdio.h
#includestdlib.h
#includestring.h
//回调函数--统计字符串中的英文个数//函数原型
int add(int n);
int count(char* s,int len,int(*padd)(int));int main()
{//不能使用char *s; 这里是字符串常量,不能改变char s[100];printf(please input s:\n);gets(s);//获取输入的字符串int lenstrlen(s);int sumcount(s,len,add);//add传递函数名(地址)printf(the sum is %d\n,sum);getchar();//entergetchar();return 0;
}
//数量自增
int add(int n)
{return n;
}
//统计字符串中英文个数
int count(char* s,int len,int(*padd)(int))
{int i;int count0;for(i0;ilen;i){if((s[i]as[i]z)||(s[i]As[i]Z)){countpadd(count);}}return count;
}