为什么我会遇到问题3.c:20:23:error:expected expression before‘;int’;?

为什么我会遇到问题3.c:20:23:error:expected expression before‘;int’;?,c,linux,gcc,C,Linux,Gcc,我已经检查过代码好几次了,似乎找不到问题所在。我见过其他一些人也有类似的错误,其中一些人涉及到演员问题,但我很难理解为什么这可能是一个问题 #include <stdio.h> #include <stdlib.h> #include <assert.h> #include <math.h> int *getData(FILE *fp, int *length); int **getGroups(int *mainArray, int num,

我已经检查过代码好几次了,似乎找不到问题所在。我见过其他一些人也有类似的错误,其中一些人涉及到演员问题,但我很难理解为什么这可能是一个问题

#include <stdio.h>
#include <stdlib.h>
#include <assert.h>
#include <math.h>

int *getData(FILE *fp, int *length);
int **getGroups(int *mainArray, int num, int remainder);

int main(void)
{
   FILE *fp;
   int *mainArray, length, num, remainder, **groups;
   double sq;
   fp = fopen("data.txt", "r");
   mainArray=getData(fp, &length);
   sq = (sqrt(length));
   num = (int)sq;
   remainder = length - (num*num);
   groups = getGroups(int *mainArray, int num, int remainder);

   return(0);
}
我被太少的参数所困扰,无法使用getGroups函数,因为很明显,我使用它的每个地方都有3个参数。我假设这个错误是由第一个错误引起的

这是:

groups = getGroups(int *mainArray, int num, int remainder);
不是有效的语法,这基本上是原型的副本,不是正确的调用

应该是:

groups = getGroups(mainArray, num, remainder);
这:

不是有效的语法,这基本上是原型的副本,不是正确的调用

应该是:

groups = getGroups(mainArray, num, remainder);

哈哈,这就是睡眠不足对你的影响。我不理解这个错误,因为我从来没有那么笨过。谢谢。这就是睡眠不足对你的影响。我不理解这个错误,因为我从来没有那么笨过。谢谢^_^