高手们!来解释一下这个程序,详细一点,谢谢!

2025-04-27 19:08:09
推荐回答(1个)
回答1:

#include //引用库头
  int inc(int a)
  {
   return(++a);
  } //定义一个函数 参数 :int 返回 :int 调用: 默认
  int multi(int*a,int*b,int*c)
  {
   return(*c=*a**b);
  } //定义一个函数 参数:int* int * int * 返回:int 调用:默认
  typedef int(FUNC1)(int in); //定义一个函数型别 参数:int* int * int * 返回:int 调用:默认  typedef int(FUNC2) (int*,int*,int*); //定义一个函数型别 参数:int* int * int * 返回:int 调用:默认

  void show(FUNC2 fun,int arg1, int*arg2)
  {
   INCp=&inc; //这里缺少型别名称 应该是FUNC1 p=&int
   int temp =p(arg1); //p(arg1) 调用p所指函数
   fun(&temp,&arg1, arg2); //调用fun 所指函数
   printf( "%d\n ",*arg2); //输出
  } //定义一个函数 参数:FUNC1型别函数 int int * 返回:void ....

  main()
  {
   int a;
   show(multi,10,&a); //调用show 函数multi作为参数传递给 show
   return 0;
  }//定义函数mian