Сортировка массива строк (не используя стандартные функции) - C (СИ)
Формулировка задачи:
Всем привет!
Написал код, для сортировки массива строк, но почему-то сортирует как-то не сортирует первый и последний элемент, как я понимаю
Вот код:
void strcmp(int argc, char *argv[])
{
int i = 1, j = 0, m = 0;
char *temp = 0;
for (i; i < argc - 1; i++)
{
for (j = i+1; j <argc; j++)
{
for (;;){
m++;
if (argv[i][m]<argv[j][m])
{
temp = argv[i];
argv[i] = argv[j];
argv[j] = temp;
}
if (argv[i][m]=='\0'||argv[j][m]=='\0')
break;
}
}
}
}Решение задачи: «Сортировка массива строк (не используя стандартные функции)»
textual
Листинг программы
int i; // инициализация необязательна. for (i =0; i < argc; i++) // как видите расширили и верхнюю и нижнюю границы
Объяснение кода листинга программы
i- переменная для цикла.argc- переменная для хранения количества аргументов в командной строке.- Условие цикла
forсостоит из двух частей:i < argcиi++. - Первая часть условия
i < argcпроверяет, что значение переменнойiменьше количества аргументов в командной строке. - Вторая часть условия
i++увеличивает значение переменнойiна 1 после каждой итерации цикла. - Цикл выполняется до тех пор, пока значение переменной
iменьше количества аргументов в командной строке.