如何将2d数组传递到c程序中?
最新消息:现在似乎可以工作了 更新: 好的,这是我声明的2d数组:如何将2d数组传递到c程序中?,c,arrays,C,Arrays,最新消息:现在似乎可以工作了 更新: 好的,这是我声明的2d数组: int数据[10][20] 它充满了这样的变量: k=0; 标记=strtok(str,“”); while(令牌!=NULL) { sscanf(令牌、%d、&var); 数据[k++][i]=var; 令牌=strtok(空,“”); } 因此,我们期望每个i都有数据[0-9][i]。然后我们找到我们需要使用的索引 数据[0-9][j] case 2: prinf("What experiment would you
int数据[10][20]代码>
它充满了这样的变量:
k=0;
标记=strtok(str,“”);
while(令牌!=NULL)
{
sscanf(令牌、%d、&var);
数据[k++][i]=var;
令牌=strtok(空,“”);
}
因此,我们期望每个i都有数据[0-9][i]
。然后我们找到我们需要使用的索引
数据[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;
}
}
案例2:
prinf(“您希望使用什么实验?\n”);
令牌=strtok(空,“”);
sscanf(令牌、%s、&str2);
对于(j=0;j
缺少j的数据类型。还需要通过至少指定列长度来传入2d数组的大小
int individualAverage(int data[][COL_LENGTH],int j)
我犯了一个错误。数据的大小在开始时声明为:int data[10][20];
我知道第一个[10]中肯定有10个整数,但我不确定这10个整数将有多少组。这就是int j
发挥作用的地方。那么在这种情况下,我应该如何准确地声明它呢?@user3251142:请更新问题,以包括有关数组声明的关键信息(理想情况下,从一开始就应该存在)。您需要澄清仅使用10个整数的含义。数组的类型-以及参数声明的正确形式-取决于数组的类型,而不是使用的值的数量。将其传递到函数中时,您仍然需要传递列长度。还可能重复:
int individualAverage(int data[][],j)
int individualAverage(int data[][COL_LENGTH],int j)