我可以在C ++函数中使用数组作为参数吗?

时间:2016-01-25 01:30:13

标签: c++ arrays function

我正在解决Project Euler Problem#3。我想我上半场已经完成了,但我不确定如何在我的一系列因素中找到最大的数字。有没有办法在函数中使用数组作为参数?

    #include <iostream>
    #include <cmath>
    #include <ctime>

    bool isPrime(int);

    bool isPrime(int x){
        if(x==2){
            return true;
        }
        if(x%2==0){
            return false;
        }
        for(int i=0;i<x;i++){
            if(x%i==0){
                return false;
            }
        }
    }



    int prime_factors(int x){ 
        int j = 0;
        int arry[900];
        for(int i = 0; i<x;i++){
            if(isPrime(i)==true){
                if(x%i==0){
                    arry[j]=i;
                    j++;
                }   
            }
        }
    }

1 个答案:

答案 0 :(得分:1)

有很多方法可以传递你的阵列。最符合您当前代码的将是:

int largest_prime_index(int* array, int length)
{
   if (length < 1)
   {
       return -1;
   }

   int largest_index = 0;

   for (int i = 1; i < length; i++)
   {
      if (array[i] > array[largest_index])
      {
         largest_index = i;
      }
   }

   return largest_index;
}

注意,如果您使用的是arry变量,则会j使用length而不是900