我已经检查了几次代码,但似乎无法找到问题所在。我见过其他一些人有类似的错误,其中一些涉及铸造问题,但我无法理解为什么这可能是一个问题。
#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);
}
有问题的文件大小是 100 个整数,所以平方根应该是 10。我在代码的早期迭代中检查了这一点,并且 num 确实 = 10。我会省略实际函数以防止它太长,因为错误是早在他们之前。生病包括编译器给出的所有相关错误......
problem3.c: In function ‘main’:
problem3.c:19:23: error: expected expression before ‘int’
problem3.c:19:23: error: too few arguments to function ‘getGroups’
problem3.c:7:7: note: declared here
我很讨厌 getGroups 功能太少的争论,因为很明显,我使用它的每个地方都有 3 个争论。我假设这个错误是由第一个错误引起的?