Сортировка обменом: ошибка на этапе компиляции - C (СИ)
Формулировка задачи:
Решил ознакомиться с прекрасным языком C, написал простенькую сортировку обменом ( она же bubble sort), ну в теле main всё работает, а когда решил оформить всё в виде функций, код получился следующего вида:
На этапе компиляции получаю ошибки:
array1.c: In function ‘bubbleSort’:
array1.c:19:5: warning: return makes integer from pointer without a cast [enabled by default]
return Array;
^
array1.c: In function ‘main’:
array1.c:34:5: warning: passing argument 1 of ‘printArray’ makes pointer from integer without a cast [enabled by default]
printArray(Array[N]);
^
array1.c:22:6: note: expected ‘int *’ but argument is of type ‘int’
void printArray(int Array[N])
^
array1.c:35:5: warning: passing argument 1 of ‘bubbleSort’ makes pointer from integer without a cast [enabled by default]
bubbleSort(Array[N]);
^
array1.c:4:5: note: expected ‘int *’ but argument is of type ‘int’
int bubbleSort(int Array[N])
^
array1.c:36:5: warning: passing argument 1 of ‘printArray’ makes pointer from integer without a cast [enabled by default]
printArray(Array[N]);
^
array1.c:22:6: note: expected ‘int *’ but argument is of type ‘int’
void printArray(int Array[N])
Что значит "ожидается 'int *', но аргумент типа 'int' " ???
Я так понимаю он указатель ждёт? В чём магия? Объясните мне, неофиту, в языке С ...
#include <stdio.h> #define N 10 int bubbleSort(int Array[N]) { int tmp; unsigned i,j; for (i = 0; i < N-1; i++) { for (j = 0; j < N - i - 1; j++){ if (Array[j] > Array[j+1]) { tmp = Array[j]; Array[j] = Array[j+1]; Array[j+1] = tmp; } } } return Array; } void printArray(int Array[N]) { int i; for (i = 0; i < N; i++) { printf("%d ", Array[i]); } printf("\n"); } main () { int Array[N] = {0, 3, 2, 1, 11, 5, 9, 7, 8, 6}; printArray(Array[N]); bubbleSort(Array[N]); printArray(Array[N]); getchar(); }
Решение задачи: «Сортировка обменом: ошибка на этапе компиляции»
textual
Листинг программы
bubbleSort(Array);
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д