#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)

来源:学生作业帮助网 编辑:六六作业网 时间:2024/11/06 02:06:44
#includeintinc(inta){return(++a);}intmulti(int*a,int*b,int*c){return(*c=*a**b);}typedefint(FUNC1)(in

#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)
#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

#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)
用来演示指向函数的指针.
// 自增函数:将数值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,int*c)   {    return(*c=*a**b);   }   typedef int(FUNC1)(int in);   typedef int(FUNC2) (int*,int*,int*);   void show(FUNC2 fu #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) #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){FUNC1 p=&inc;int temp =p(arg1);fun(&temp,&arg1,arg2);printf( #include int main( ){int c;cout #include sub(int *a,int n,int k) { if(k int C++有道题看不懂,#include int func(int a,int b);int main(){cout #include void modify(int x,int y) {cout 实在看不懂#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std;int cases;int main() {double cl = clock();scanf(%d, #include stdio.h double fun(int m) { // } 运行vc++时 #include int main() { cout #include using namespace std; int main() { cout C++计算阶乘n#include #include #include #include using namespace std;int main(){int sum = 1,d;int n;cin >> n;for(int i=1;i #include #include int page(int A,int L );int Segment(int sn,int sl);int SegPagt(int sn,int pn,int pd);typedef struct segtable {int segf[256];int segl[256];}segtable;struct segtable st;typedef struct segpagt{int segf[256];int segl[256];int ptl[256];in #include void fun(int a[],int n) { int i,t; for(i=0;i #include int fun(int b[].int n) { int i.r=1:for(i=0:i #include void Delay(int p,int q) ; void Display(int time) ; void key(void); int st[10] c 语言基础 #include #include fun(int n) { int k,r; for(k=2;k