Функция выводит случайное число
Я только что сделал функцию, которая должна найти как можно меньше зрителей на футбольных играх. Он работает для всех значений, кроме одного, команды [10], где кажется, что он указывает на случайное место в памяти, и я не могу найти причину. Это кажется случайным.
Output:
FCN, 37.250000
SDR, 40.408000
FCM, 66.279000
VFF, 42.273000
OB, 65.967000
HOB, 22.352000
AGF, 75.126000
BIF, 124.341000
AAB, 66.410000
EFB, 53.708000
FCK, 128.433000 // This value changes randomly for each time i compile
RFC, 48.314000
Team: HOB, Spectators:22.352000
void solve_task_four(ROUND *round, TEAM *team) {
int j = 0;
int i = 0;
int k = 0;
for(i=0; i<33; i++) {
for(j=0; j<6; j++) {
if(round[i].match[j].year == 2015) {
for(k=0; k<12; k++) {
if(strcmp(round[i].match[j].home_team,team[k].name)==0) {
team[k].spectators_home_last_year += round[i].match[j].spectators;
}
}
}
}
}
for(k=0; k<12; k++) {
printf("%s, %lf\n", team[k].name, team[k].spectators_home_last_year);
}
}
У меня есть структура матчей называется раунда. Структурное совпадение, в котором хранятся данные о каждом совпадении. И тогда у меня есть команда структур. Я создал массив команд, где храню данные о количестве и именах зрителей команд.
РЕДАКТИРОВАТЬ: фактически печатает правильное значение в половине случаев. Другая половина печатает, например:
FCK, 11619132426987445786417210392049029283197879336796768202803907011075546173646479715331152202283963354268608554533948573765823213199739004181127023348833923632578496785562152249963391728687857881966870769941957750816768.000000
РЕДАКТИРОВАТЬ: Структура:
typedef struct {
char *name;
int points, matches_played,
matches_won, matches_draw, matches_lost,
matches_won_home, matches_won_away,
goals_for, goals_against, goal_difference;
double spectators_home_last_year;
} TEAM;
Наполнение структуры - массив команд. (Где количество команд 12)
TEAM team[NUMBER_OF_TEAMS];