#include int inc(int a) { return(++a); } int multi(int*a,int
来源:学生作业帮 编辑:大师作文网作业帮 分类:综合作业 时间:2024/09/26 00:25:01
#include 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; }这段代码是什么意思,答案是110
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; }这段代码是什么意思,答案是110
用来演示指向函数的指针.
// 自增函数:将数值a加1并返回结果
int inc(int a)
{
return(++a);
}
// 乘法函数:用来将a,b两指针指向的数值相乘,并将结果存于c指针指向的空间
int multi(int*a,int*b,int*c)
{
return(*c=*a**b);
}
typedef int(FUNC1)(int in); //定义一个指定参数类型的函数指针类型FUNC1
typedef int(FUNC2) (int*,int*,int*); // 定义三个指定参数类型的函数指针类型FUNC2
void show(FUNC2 fun,int arg1,int*arg2)
{
FINC1 p=&inc; // 定义指向1个参数的函数指针p,并指向自增函数inc
int temp =p(arg1); // 调用处增函数p将arg1数值自增,并把结果存于temp,为10+1=11
fun(&temp,&arg1,arg2); // 调用传入的函数指针(实为multi),将temp,arg1数值相乘,结果存于arg2指向的空间,为10*11=110
printf("%d\n",*arg2); // 打印乘法结果110
}
main()
{
int a; // 定义变量a用于存储结果
show(multi,10,&a); // 调用函数show并传入三个参数:函数指针multi,数值10,结果变量a的地址
return 0;
}
// 自增函数:将数值a加1并返回结果
int inc(int a)
{
return(++a);
}
// 乘法函数:用来将a,b两指针指向的数值相乘,并将结果存于c指针指向的空间
int multi(int*a,int*b,int*c)
{
return(*c=*a**b);
}
typedef int(FUNC1)(int in); //定义一个指定参数类型的函数指针类型FUNC1
typedef int(FUNC2) (int*,int*,int*); // 定义三个指定参数类型的函数指针类型FUNC2
void show(FUNC2 fun,int arg1,int*arg2)
{
FINC1 p=&inc; // 定义指向1个参数的函数指针p,并指向自增函数inc
int temp =p(arg1); // 调用处增函数p将arg1数值自增,并把结果存于temp,为10+1=11
fun(&temp,&arg1,arg2); // 调用传入的函数指针(实为multi),将temp,arg1数值相乘,结果存于arg2指向的空间,为10*11=110
printf("%d\n",*arg2); // 打印乘法结果110
}
main()
{
int a; // 定义变量a用于存储结果
show(multi,10,&a); // 调用函数show并传入三个参数:函数指针multi,数值10,结果变量a的地址
return 0;
}
#include int inc(int a){ return(++a); }int multi(int*a,int*b
#include int inc(int a) { return(++a); } int multi(int*a,int
#include int inc(int a) { return(++a); } int mul
#include int func(int a,int b) { int c; c=a+b;return c; } ma
int max(int a,int
#include #include // void fun(int a,int b,int c
#include #include int page(int A,int L );int Segment(int sn,
int a=2; int f(int a); {return (a)++;} main() {int s=0; {int
#include func(int a,int b) {int c; c=a+b; return c;} main()
#include int b=3; int fun(int *a) { b+=*a; return(b); }
#include sub(int *a,int n,int k) { if(k
#include int f1(int a,int b)15,9 { int c; c=b%2; return a+c;