Я настраиваю свою программу, и я хотел проверить ее, чтобы убедиться, что я понял ее правильно. Но когда я пытаюсь ввести значения в массив и распечатать их, выводятся случайные значения, и я не могу понять, почему.
Вывод при запуске программы:
How important would you rate Gun reform on a scale of 1-10? 1
How important would you rate Immigration on a scale of 1-10? 2
How important would you rate Abortion on a scale of 1-10? 3
How important would you rate Climate change on a scale of 1-10? 4
How important would you rate Minimum wage on a scale of 1-10? 5
How important would you rate Healthcare on a scale of 1-10? 6
How important would you rate Taxes on a scale of 1-10? 7
Do you want to fill out the poll? Y/N n
0 1 0 0 0 0 0 0 0 0
0 2 0 0 0 0 0 0 0 0
0 3 636544736 32600 0 0 0 0 0 0
0 4 0 0 636545640 32600 1639736080 32764 1639736064 32764
1700966438 5 631916711 32600 2 0 0 0 0 0
0 6 0 0 0 0 0 0 0 0
0 7 0 0 0 0 0 0 0 0
Код, который я написал:
do{
int i;
for (i = 0; i < 7; i++){
printf("How important would you rate %s on a scale of 1-10? ", *(topics+i));
scanf(" %d", &rating);
*(*(responses+i)+1) = *(*(responses+i)+1) + rating;
}
printf("Do you want to fill out the poll? Y/N ");
scanf(" %c", &input);
} while (input == 'Y' || input == 'y');
int j;
int k;
for (k = 0; k < 7; k++){
for (j = 0; j < 10; j++){
printf("%d ", *(*(responses+k)+j));
}
printf("\n");
}
Никаких проблем не существует, и все введенные значения отображаются в вывод, но по какой-то причине в средних строках есть значения, которые никогда не вводятся.