繁体   English   中英

如何将2d数组传递给c程序?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM