c语言把函数名为参数调用 c 函数作为函数的参数

C语言 带参数函数的引用调用#include stdio.h
void fun(int * a,int k);
void main()
{
int a[10];
printf("请输入10个整数:\n");
for(int i=0;i10;i)
{
scanf("%d",a[i]);
}
fun(a,sizeof(a)/sizeof(a[0]));
}
void fun(inta[],int k)//这就是你想要的函数
{
int g0=0,t0=0,e0=0;/*g0就是0,t0就是小于0,e0就等0*/
for(int i=0;ik;i)
{
if(a[i]0) g0;
if(a[i]==0) e0;
if(a[i]0)t0;
}
printf("大于0的个数为:%d\n",g0);
printf("小于0的个数为:%d\n",t0);
printf("等于0的个数为:%d\n",e0);
}
/*
说明就和ichenq的差不多,只是ichenq的那个有问题,比如他的if语句里多了几个";"号,导致无没通过,另外我用他的函数来测试得不到想要的结果
sizeof(a)/sizeof(a[0])就是数组a的长度*/
C语言将函数名作为参数被另外一个函数调用怎么做?楼主已经开始想要知道如何用函数指针了,不错,好学生 , 给你个例子
#include stdio.h
int ff(int(*p)(int,int),int a,int b)//原始写法,阅读不便
{
return p(a,b);
}
typedef int(*Pfun)(int,int);//定义函数指针类型 , 同时申明了原型 返回int 两个int形参
int f(Pfun p,int a,int b) //改进写法 易懂
{
return p(a,b);
}
int add(int a,int b)
{
printf("加法函数add被调用:");
return a b;
}
int sub(int a,int b)
{
printf("减法函数sub被调用:");
return a-b;
}
void main()
{//函数指针初步应用
int a=1,b=2;
printf(" %d %d=%d\n",a,b,f(add,a,b));
printf(" %d-%d=%d\n",a,b,f(sub,a,b));
printf(" %d %d=%d\n",a,b,ff(add,a,b));
printf(" %d-%d=%d\n",a,b,ff(sub,a,b));
}
///////////运行结果:
加法函数add被调用: 1 2=3
减法函数sub被调用: 1-2=-1
加法函数add被调用: 1 2=3
减法函数sub被调用: 1-2=-1
【C语言】函数作为函数参数Question:在函数void function()中,需要将另外一个函数double input()的函数名作为参数 。
typedef double (*P)(int);
Note:参数部分需要注意,函数input()所有的输入参数类型都需要包含在内 。
例如 double input(double u[5], int num, double x), 则在定义时写作 typedef double (*P)(double*,int,double) 。
此时,函数作为一种类型,可以直接被其他函数调用 。
函数声明中定义 void function(P input),调用function(input)即可 。
【c语言把函数名为参数调用 c 函数作为函数的参数】 也可以写成
c语言把函数名为参数调用的介绍就聊到这里吧 , 感谢你花时间阅读本站内容,更多关于c 函数作为函数的参数、c语言把函数名为参数调用的信息别忘了在本站进行查找喔 。

    推荐阅读