变量的实例

时间:2016-02-04 12:55:50

标签: c

我有一个c代码

int foo( int *p, int n){

  int a[81];
  int i,v;

  for( i = 0; i < n ; i++){
    a[i]=p[i]

  if( n == 1 ) return a[0];
  v=foo ( a, n-1);
  if( v > a[n-1] )
    return v;
  else
    return a[n-1];
}

int main ( void ){
 int b[81], i;

  for( i = 0; i < 81; i++){
    b[i]=rand();
  foo(b,81);
  return 0;
}

我需要找出变量a存在多少个实例(最大数量)我的回答是81,但这是错误的,我不知道应该是什么数字。我怎么能确定它?

3 个答案:

答案 0 :(得分:1)

main将调用该函数82次,每次func将在递减n项的循环中递归调用80次。

所以总共会是81 * 81。

编辑:我没有注意到第一次迭代后的返回,所以实际上它的数量非常小。

答案 1 :(得分:0)

  1. a中的元素数量设置为任意高。

  2. 构建函数以将元素分配给a,并仅使用该函数设置a的元素。您可以使用此功能确保您不要尝试在a的范围之外书写。 (否则你的程序的行为将是不确定的,因此任何结果都将毫无意义)。

  3. 编码&#34;水印&#34;该函数中的static int用于记录访问的最大索引。

  4. 运行程序并记下为(3)设置的变量值。

答案 2 :(得分:0)

声明一个全局计数器 - 它将被初始化为零。在该功能中,与&#39; a&#39;相同。声明,递增计数器。

Printf()在main()的末尾。