将多个字符串按字母顺序由小到大的输出


#include <stdio.h>
#include <string.h>


int main() 
{
    char sort(char* name[], int n);
    char print(char* name[], int n);
    char* name[] = { "Follow me","BASIC","Great Wall","FORTRAN","Computer design" };
    int n = 5;
    sort(name, n);
    print(name, n);


    
    
    
    
    
    
    
    
    
    
    
    return 0;

}

char sort(char* name[], int n)
{
    char* temp;
    int i, j,k;
    for (i = 0; i < n - 1; i++)
    {
        k = i;

        for (j = i + 1; j < n; j++)
        {
            if (strcmp(name[k], name[j]) > 0) k = j;
        }
        if (k != i)
        {
            temp = name[i]; name[i] = name[k]; name[k] = temp;

        }

    }
    return 0;

}

char print(char* name[], int n)
{
    int i;
    for (i = 0; i < n; i++)
    {
        printf_s("%s\n", name[i]);

    }
    return 0;

}

不知道你要怎么排序,但strcmp是不能这样用的strcmp(name[k], name[j]),strcmp是比较字符串的,你比较的是两个字符,可以直接比大小的 if(name[k] >name[j])