// 首先说明strcmp的使用格式:
// strcmp(char1 *, char2 *);
// 该函数功能是:从第一个元素开始,依次比较字符串数字char1和 char2,如果char1的第n个元素比char2d的第n个元素大,则返回值 为大于0 的数,相反的话,则返回小于0的数,如果相等,则继续比较 n+1个元素,直到第n+1个不相等,就停止比较,并返回相应的值。 (注意:char1 *这里实际放的是一个指针,字符数组名实际就是一个常量 指针)
// 举例:
// char name_1[10]={"zhangsan"}; name_2[10]={"zhaoliu"};
// syrcmp(name_1,name_2);
// 比较的结果是:因为“z”“h”“a”都相等,所以继续比较第四个元素“n” 和“o”;比较至此,已经有返回值了,所以停止后边的比较,并返回相应的值。
//
// 应用实例;按照字母从小到大输出姓名
//
// char name[5][20]={"zhengsan","lisi","wangwu","zhaoliu","anyang"};
// //k控制比较的趟数
// for(int k=0; k<5;k++){
// //i控制比较的第一维空间
// for (int i = 0; i<4; i++) {
// //j控制每个姓名的第j个字母
// for (int j = 0; j<20; j++) {
// //利用strcmp 函数比较字母大小
// if (strcmp(&name[i][j], &name[i+1][j])>0) { //使用&的原因是:字符数组名的本质是一个指针,指向一个地址。在这里使用&取某一个元素的地址。
// char temp[20];
// strcpy(temp, name[i]);
// strcpy(name[i], name[i+1]);
// strcpy(name[i+1], temp);
// }
// //交换结束后,停止本组名字的继续比较,进行下一个名字的比较
// break;
// }
// }
// }
// for (int i = 0; i < 5; i++) {
// printf("%s\n",name[i]);
// }
//运行结果
// anyang
// lisi
// wangwu
// zhaoliu
// zhengsan
// Program ended with exit code: 0
//