Я писал программу на C для поиска инверсий в массиве. Программа компилируется плавно, но как только я ее запускаю, она отображает значение мусора, где я беру массив в качестве входных данных. Программа приведена ниже:
#include <stdio.h>
#include <stdlib.h>
int checkInversions(int arr[], int n) {
int i, j, inverse_count = 0;
for (i = 0; i < n - 1; i++) {
for (j = i + 1; j < n; j++) {
if (arr[i] > arr[j]) {
inverse_count++;
}
}
}
return inverse_count;
}
int main() {
int arr[10], i, n;
printf("Enter the elements of the array: %d");
for (i = 0; i <= 10; i++) {
scanf("%d", &arr[i]);
}
n = sizeof(arr) / sizeof(arr[0]);
printf("\n The inverse is: %d", checkInversions(arr, n));
return 0;
}
Теперь, когда отображается оператор Enter the elements of the array:
, рядом с ним стоит мусор, такой как 623089
. Я могу принять вход, но результат не является правильным. Какова причина этого? Любая помощь в этом отношении будет оценена.