1. Błąd w algorytmie.
2. Zbędne zwracanie .. czegokolwiek.
3. W przypadku scanf(...) dla wartości dziesiętnych, nie ma niebezpieczeństwa przepełnienia bufora.
4. Indeksujemy tablice od 0.
5. Typ indeksu to size_t.
#include <stdlib.h>
#include <stdio.h>
void bubble_sort(size_t n, int *arr)
{
for (size_t i = 0; i < n; ++i)
{
printf("Enter values: ");
scanf(" %d", &arr[i]);
}
for (size_t i = 0; i < n - 1; ++i)
{
for (size_t j = 0; j < n - 1 - i; ++j)
{
if (arr[j] > arr[j + 1])
{
int tmp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = tmp;
}
}
}
}
int main()
{
size_t n;
int *arr;
printf("Please, enter how much number want you sort: ");
scanf(" %zu", &n);
arr = malloc(n * sizeof(int));
bubble_sort(n, arr);
puts("Sortowanie bąbelkowe...");
for (size_t i = 0; i < n; ++i)
printf("%d ", arr[i]);
free(arr);
return EXIT_SUCCESS;
}