Неправильный вывод из сортировки выбора
После передачи 'EXAMPLE' в качестве входных данных вывод, показанный как 'AELMPXE', я не понимаю, почему один из 'E' не сортируется, после отслеживания программы я получил, что его не сравнивают после 2-й итерации с последним элементом, пожалуйста, помогите.
Что я уже пробовал:
<pre>#include <stdio.h> #include <stdlib.h> #include<string.h> void selection_sort(char a[] , int n) { int pos,i,j; char temp; for(i = 0;i < n-2;i++) { pos = i; for(j = i + 1;j < n-1;j++) { if(a[pos] > a[j]) { pos = j; } } temp = a[pos]; a[pos] = a[i]; a[i] = temp; } printf("%s",a); } int main() { char a[30]; int n; printf("Enter the string :"); scanf("%s",a); n = strlen(a); selection_sort(a , n); return 0; }