У меня есть этот файл и введите его как массив struct в c. Однако у меня есть проблема передачи элемента struct в функцию. Ошибка: даже указатель или значение массива не было с индексом в строке 58. Я новичок в c и застрял с этой проблемой в течение недели.Передача элемента структуры для функции в c
Коды:
#include <stdio.h>
#include <math.h>
#define SIZE 100
typedef struct list{
int counter;
int year;
double maxrain;
double rank;
} data;
double avg (struct list s, int count);
int main()
{
data a[SIZE];
struct list s;
double sum = 0;
int totalFile = 1; // according to number of csv file
int z, i;
char fName[16];
FILE*fpt;
double mean;
/* reading multiple file */
for (z=1; z<=totalFile; z++)
{
sprintf(fName," ",z);
fpt = fopen(fName,"r");
if(fpt == NULL){
printf("Error opening %s\n",fName);
return(-1);
}
printf("---Reading from file %d---\n", z);
sum = 0;
i = 0;
while(i <= SIZE && fscanf(fpt, "%d%*c%d%*c%f%*c%f", &a[i].counter, &a[i].year, &a[i].maxrain, &a[i].rank) != EOF){
sum = sum + a[i].maxrain;
i++;
}
mean = avg(a[i].maxrain, i);
printf("%f", mean);
return 0;
}
}
double avg(struct list s , int count)
{
double ave;
int i = 0;
for(i=0; i<count; add += s.maxrain[i++]);
ave = add/count;
return ave;
}
ли & (a [i] .counter) работают? И так далее ... – LostBoy
Эксперты здесь расскажут вам об ошибке, просто просмотрев код. Но, все же вы должны сообщить нам, что это строка ** 58 ** –
«Ошибка: даже указатель или значение массива не было с индексом в строке 58». - это не похоже на компилятор. Скопируйте пасту, пожалуйста. – Potatoswatter