Почему моя заказанная строка что-то не так
#включить <stdio.h>
#include <stdlib.h>
int compare(char info[][20], int n);
пустое чтение();
void swap(char *ap, char *bp);
тап_п()
{
читать();
возвращает 0;
}
пустое чтение()
{
int n,c;
printf("введите, сколько имен вы хотите отсортировать.\n");
scanf("%d", &n);
printf("пожалуйста, введите имена %d.\n", n);
char *info[n][20];
for(c=0;c<n;c++) //хранить входные данные в массиве
{
scanf("%s", info[c]);
}
printf("введенные строки:\n");
для(c=0;c<n-1;c++)
{
printf("%s\n",info[c]);
}
сравнить(информация,n);
printf("упорядоченные строки:\n");
для(c=0;c<n;c++)
{
printf("%s\n",info[c]);
}
}
int compare(char info[][20], int n)
{
int c = 0;
char *ap;
ap = информация[c];
char *bp;
bp = информация[c+1];
int y = 0;
printf("%s, %s", ap, bp);
для(y = 0; y < n; y++)
{
while(*ap == *bp)
{
если (*ap == '\0' && *bp == '\0')
{
возвращает 0;
перерыв;
}
АР++;
кровяное давление++;
}
если (*ap < *bp)
{
возврат 1;
}
если (*ap > *bp)
{
своп(ap, bp);
возврат -1;
}
}
если (*ap < *bp)
{
возврат 1;
}
если (*ap > *bp)
{
своп(ap, bp);
возврат -1;
}
}
void swap(char *ap, char *bp)
{
char tmp;
int x = 0;
while(*ap != '\0' || *bp != '\0')
{
tmp = *ap;
*ap = *bp;
*bp = tmp;
АР++;
кровяное давление++;
}
}
Что я уже пробовал:
попробуйте напечатать что-то в коде, но все еще не знаете, как это исправить.
Nakhia_ind
сэр здесь нет размера в первом int compare(char info[][20], int n);
означает, что будет int compare(char info[2][20], int n);