Я пытаюсь сортировать элементы в массиве от наименьшего до самого большого, который пользователь вводит вместе с размером. Это мой код до сих пор:Сортировка массива в C
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#define MAXVALUES 20
void sort(int *A[], int n) {
int i, tmp, j;
for (i = 0; i <= (n - 2); i++) {
for (j = (i + 1); j <= (n - 1); j++) {
if (*A[i] > *A[j]) {
tmp = *A[i];
*A[i] = *A[j];
*A[j] = tmp;
}
}
}
return;
}
int main(int argc, char *argv[]) {
int n, A[MAXVALUES], i;
printf("Enter an array and no. of elements in array: ");
scanf("%d%d", &A[MAXVALUES], &n);
sort(A[MAXVALUES], n);
printf("Ordered array is: \n");
for (i = 0; i <= (n - 1); i++) {
printf(" %d", A[i]);
}
return 0;
}
компилятор компилирует это без каких-либо ошибок, но она перестает работать после того, как я положил на входах. Мне еще предстоит понять теорию за массивами и указателями, чтобы кто-то мог сказать мне, где в моем коде, я ошибаюсь?
'зсапЕ ("% d% D", & A [MAXVALUES] ...' я не думаю, что вы действительно хотите иметь в виду, это –
ваш 'scanf' выглядит. подозрительный –