美文网首页
2.指针数组及排序

2.指针数组及排序

作者: 陈忠俊 | 来源:发表于2020-02-24 14:43 被阅读0次

    语法/原型:
    int strcmp(const char* stri1,const char* str2);

    参数 str1 和 str2 是参与比较的两个字符串。

    strcmp() 会根据 ASCII 编码依次比较 str1 和 str2 的每一个字符,直到出现不到的字符,或者到达字符串末尾(遇见\0)。

    返回值:
    如果返回值 < 0,则表示 str1 小于 str2。
    如果返回值 > 0,则表示 str2 小于 str1。
    如果返回值 = 0,则表示 str1 等于 str2。

    #include<stdio.h>
    #include<string.h>
    
    #从小往大排序字符串
    void sort(char *name[], int n){
        char *pt;
        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){ #找到最小的字符串后,交换该次循环的字符串的地址
                pt = name[i];
                name[i] = name[k];
                name[k] = pt;
            }
        }
    }
    
    void print(char *name[], int n){
        int i;
        for(i = 0; i < n; i++) printf("%s\n", name[i]);
    }
    
    int main(){
        static char *name[] = {"CHINA", "AMERICA", "AUSTRALIA", "FRANCE", "GERMAN"};
        int n = 5;
        sort(name, n);
        print(name, n);
        return 0;
    }
    

    相关文章

      网友评论

          本文标题:2.指针数组及排序

          本文链接:https://www.haomeiwen.com/subject/wikvqhtx.html