newUpdate:现在似乎正常工作
更新
好的,这是我声明的2d数组:
int data[10][20];
它充满了变量:
k=0;
token = strtok (str," ");
while (token != NULL)
{
sscanf (token, "%d", &var);
data[k++][i] = var;
token = strtok (NULL," ");
}
所以我们期望每个i data[0-9][i]
。然后我们找到了我们需要使用的索引
data[0-9][j]
case 2:
prinf("What experiment would you like to use?\n");
token = strtok (NULL," ");
sscanf (token, "%s", &str2);
for(j=0;j<i;j++)
{
if(strcmp(experiments[j],str))
{
indAvg = individualAverage(data,j);
printf("The individual average of %s is %d\n",experiments[j],indAvg);
break;
}
}
这意味着称之为:
int individualAverage(int data[][20],int j)
{
int k,average=0;
for(k=0;k<10;k++)
{
average += data[k][j];
}
return average;
}
我得到的问题是它在我的individualAverage
函数中说'数组类型具有不完整的元素类型'。
在我对函数的调用中,它表示'形式参数1的类型不完整'。
我不确定我在这里做错了什么?
感谢。
答案 0 :(得分:3)
int individualAverage(int data[][],j)
您缺少j的数据类型。您还需要通过至少指定列长度
来传递2d数组的大小int individualAverage(int data[][COL_LENGTH],int j)