我正在嘗試使用名爲min()
的函數進行選擇排序。在選擇排序功能中的錯誤C
這是我的代碼:
#include <stdio.h>
#include <conio.h>
void main() {
int i, temp, arr[20], n, loc;
int min(int [], int, int);
printf("Enter a range of the array");
scanf("%d", &n);
for (i = 0; i < n; i++) {
printf("Enter elements");
scanf("%d", arr[i]);
}
for (i = 0; i < n; i++) {
loc = min(arr, i, n);
temp = arr[i];
arr[i] = arr[loc];
arr[loc] = temp;
}
min(int arr[], int i, int n) {
int j, loc, temp;
for (j = i + 1; j < n; j++) {
if (arr[i] > arr[j]) {
temp = j;
}
}
return (temp);
}
getch();
}
編譯時,編譯器是給一個錯誤。 它說:根據我的編譯器的Turbo C++
Error SELECTIONSORT.C 22: Expression Syntax.
我的行號22是min(int arr[],int i, int n)
。
請指導我在哪裏出錯。 感謝您的幫助。
1)'分鐘(INT ARR [],INT I,INT N){...}'移動到前'main' – BLUEPIXY
2) 'scanf(「%d」,arr [i]);' - >'scanf(「%d」,&arr [i]);'或'scanf(「%d」,arr + i);' – BLUEPIXY
3 )'int j,loc,temp;' - >'int j,temp = i;','if(arr [i]> arr [j]) - >'if(arr [temp]> arr [ j])' – BLUEPIXY