[英]How to pass 2d array into c program?
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的类型不完整'。
我不确定我在这里做错了什么?
谢谢。
int individualAverage(int data[][],j)
您缺少j的数据类型。 您还需要通过至少指定列长度来传递2d数组的大小
int individualAverage(int data[][COL_LENGTH],int j)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.