C语言---冒泡排序排序多个字符串

来源:互联网 发布:mac使用windows软件 编辑:程序博客网 时间:2024/04/29 16:01
strcmp函数
原型:extern int strcmp(const char *s1, const char * s2);

用法:#include <string.h>

功能:比较字符串s1和s2。

一般形式:strcmp(字符串1,字符串2)


说明:
当s1<s2时,返回值<0

当s1 = s2时,返回值 = 0

当s1>s2时,返回值>0

即:两个字符串自左向右逐个字符相比(按ASCII值大小相比较),直到出现不同的字符或遇'\0'为止。如:

"A"<"B" "a">"A" "computer">"compare"


特别注意:strcmp(const char *s1, const char * s2)这里面只能比较字符串,不能比较数字等其他形式的参数。


排序多个字符串一般由字符串的首字符决定

void Bubble(char *str[], int sz){int i = 0;int j = 0;int flag = 1;for (i = 0; i < sz - 1; i++){int flag = 0;for (j = 0; j < sz - 1 - i; j++){if (strcmp(*(str+j), *(str +1+ j))>0)    //*str的ASKII码值大于*(str+j),交换两个字符串,也就是首字母小的在前面{char *tmp = *(str+j);*(str+j) = *(str + 1+j);*(str + 1+j) = tmp;flag = 1;}}if (!flag){break;}}}int main(){char *str[] = { "eeee", "ffff", "ssss", "aaaa" };int sz = sizeof(str) / sizeof(str[0]);Bubble(str, sz);int i = 0;for (i = 0; i < sz; i++){ printf("%s ", str[i]);}system("pause");return 0;}



0 0
原创粉丝点击