gpt4 book ai didi

c - 为什么我得到 problem3.c :20:23: error: expected expression before ‘int’ ?

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:59:39 28 4
gpt4 key购买 nike

我检查了代码几次,似乎找不到问题所在。我看到其他一些人也有类似的错误,其中一些涉及转换问题,但我很难理解为什么这可能是这里的问题。

#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 个论点。我假设这个错误是由第一个错误引起的?

最佳答案

这个:

groups = getGroups(int *mainArray, int num, int remainder);

不是有效的语法,它基本上是原型(prototype)的副本,不是正确的调用。

应该是:

groups = getGroups(mainArray, num, remainder);

关于c - 为什么我得到 problem3.c :20:23: error: expected expression before ‘int’ ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18205254/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com