我参加了一个基础csci,计算机编程课程,并且已经花了几个小时摆弄这段代码。我试图通过一个函数传递数组,我的代码将无法编译。我无法弄清楚我的代码出了什么问题。它如下:
int buildArray (double*);
int main ()
{
int valuesPerLine;
int randomValues;
double array[110];
srand(time(NULL));
cout<<"How many values should be displayed per line? ";
cin>>valuesPerLine;
randomValues=buildArray(array[]);
cout<<array[50];
return (0);
}
int buildArray (double array[])
{
int t; //t is the total number of numbers in the array
t=rand();
array[t];
for (int i=0; i<t; i++)
{
array[i]=randDouble();
}
return(t);
}
cout<<array[50];
就在那里,我可以看看答案是否有所改变。它不会出现在最终的代码中。
我错过了一些简单的东西吗?我通常能够在课堂上帮助其他人使用代码,但出于某种原因,我无法解决这个问题。
谢谢你的一切! 附: 这不是整个代码,我知道在这种情况下我还没有说出randDouble是什么,但我不相信这很重要,因为代码似乎编译得很好,因为它是。如果需要,请告诉我,我可以在下面发布。
答案 0 :(得分:2)
将数组传递给函数时,只将指针传递给数组的第一个元素。
在你的情况下,它将是:
randomValues = buildArray(array);