70,037
社区成员
发帖
与我相关
我的任务
分享#include<stdio.h>
int inc(int a)
{
return(++a);
}
int multi(int*a,int*b,int*c)
{
return(*c=*a**b);
}
typedef int(FUNC1)(int in);
typedef int(FUNC2) (int*,int*,int*);//这两句是什么意思啊
void show(FUNC2 fun,int arg1, int*arg2)
{
INCp=&inc;
int temp =p(arg1);
fun(&temp,&arg1, arg2);
printf("%d\n",*arg2);
}
main()
{
int a;
show(multi,10,&a);
return 0;
}
#include <stdio.h>
int inc(int a)
{
return(++a);
}
int multi(int*a,int*b,int*c)
{
return(*c=*a**b);
}
typedef int(FUNC1)(int in);
typedef int(FUNC2) (int*,int*,int*); //预定义指向函数的指针
void show(FUNC2 fun,int arg1, int*arg2)
{
FUNC1 *p=&inc; //指针p 指向 inc函数
int temp =p(arg1); //temp等于11
fun(&temp,&arg1, arg2);//这里其实就是multi(&temp,&arg1,&a)
printf("%d\n",*arg2);
}
int main()
{
int a;
show(multi,10,&a);
return 0;
}
#include <stdio.h>
int inc(int a)
{
return(++a);
}
int multi(int*a,int*b,int*c)
{
return(*c=*a**b);
}
// 这样写不对
//typedef int(FUNC1)(int in);
//typedef int(FUNC2) (int*,int*,int*);
// 两个函数指针定义
typedef int(*FUNC1)(int in);
typedef int(*FUNC2) (int*,int*,int*);
void show(FUNC2 fun,int arg1, int*arg2)
{
FUNC1 p = &inc;
int temp = p(arg1);
fun(&temp, &arg1, arg2);
printf("%d\n",*arg2);
}
int main()
{
int a;
show(multi,10,&a);
getchar();
return 0;
}
// 110