C 如何计算一个函数在另一个函数中的次数,例如g(9)在g(k)中的次数

C 如何计算一个函数在另一个函数中的次数,例如g(9)在g(k)中的次数,c,function,C,Function,我正在执行一个基于递归函数的活动,但我不知道如何将一个部件放在代码格式中。代码如下: #include <stdio.h> int count; int g( int x ) { count++; if ( x == 0 ) return 2; if ( x <= 2 ) return x * x; if ( x <= 5 ) return x * g( x - 1 ); return

我正在执行一个基于递归函数的活动,但我不知道如何将一个部件放在代码格式中。代码如下:

 #include <stdio.h>

 int count;
 int g( int x ) {
   count++;

   if ( x == 0 )
       return 2;

   if ( x <= 2 )
       return x * x;

   if ( x <= 5 )
       return x * g( x - 1 );

   return (g( x - 3 ) + g( x - 2 ) );
}

int main () {

  int k = 15;// random number
  count = 0;
    
  printf( " g(%d) = %d\n", k, g( k ) );
  printf( " count: %d\n", count);
  printf( " g(9) appeared : %d time(s) inside g(%d)",...,k);// in this space would be the other variable 

  return 0;
}
#包括
整数计数;
整数g(整数x){
计数++;
如果(x==0)
返回2;

如果(x),您的问题有点不清楚。您是在问如何计算给定参数调用g()的次数,还是只计算调用g()的次数(可能不包括初始调用)?无论哪种方式,最直接的答案基本上都是一样的,全局变量在每次满足给定条件时都会递增。除非声明为静态,否则g()中的count变量是无用的(尽管即使这样,main()也无法看到它).关于我真正想问的问题,这是你提到的第一种情况吗?我理解你提到的使用全局变量的方法(就像我在计数中提到的),但是我不知道如何使用另一个与这个具体情况相关的变量来做这件事(例如,找出g(27)中有多少个g(9))根据这些函数。你能用代码风格演示我吗?请,如果可以的话。抱歉有点慢,我几天前开始了解编程。如果你有新的信息,比如问题的澄清,请回答你的问题。这里的评论很可能会被忽略。如果有必要,请回答again或再次阅读“”。-请注意,用代码传达解决方案不是一个好主意。要成为一名开发人员,您需要学会从概念和算法中思考。--但是,如果您只对调用
g(9)感兴趣,您可以添加
if(x==9)
,或者您可以提供一个计数器数组。您的问题有点不清楚。您是在问如何记录给定参数调用g()的次数,还是仅调用g()的次数(可能不包括初始调用)?无论哪种方式,最直接的答案基本上都是一样的,全局变量在每次满足给定条件时都会递增。除非声明为静态,否则g()中的count变量是无用的(尽管即使这样,main()也无法看到它).关于我真正想问的问题,这是你提到的第一种情况吗?我理解你提到的使用全局变量的方法(就像我在计数中提到的),但是我不知道如何使用另一个与这个具体情况相关的变量来做这件事(例如,找出g(27)中有多少个g(9))根据这些函数。你能用代码风格演示我吗?请,如果可以的话。抱歉有点慢,我几天前开始了解编程。如果你有新的信息,比如问题的澄清,请回答你的问题。这里的评论很可能会被忽略。如果有必要,请回答again或再次阅读“”。-注意,用代码传达解决方案不是一个好主意。要成为一名开发人员,您需要学会从概念和算法中思考。--但是,如果(x==9)
您只对调用
g(9)
感兴趣,您可以添加
,或者您可以提供一个计数器数组。