文章目录 strcat字符串比较内置字符串追加/链接函数strcat strcat字符串比较 比较字符串str1和str2在‘\0’之前的实际字符串的大小 依次比较字符串中的每个字符,如果所有字符相同则字符串相等,如果某一字符不相等,比较其大小,直接判断字符串大小,不以字符串的长度决定其大小。 #include<stdio.h> #include<assert.h> #include<string.h> int Mystrcmp(const char* str1, const char* str2)//比较字符串大小,分别比较,长度比较 { assert(str1 != NULL && str2 != NULL); int tmp; while (*str1 == *str2)//从第一个字符开始比较,直到出现不相等的字符 //判断真继续循环,判断假跳出 { if (*str1 == '\0')//直到出现\0时说明,字符比较结束,两个字符串完全相等,则返回0 { return 0; } str1++; str2++; } tmp = *str1 - *str2;//定义一个变量保存不相等字符之间的差值 if (tmp > 0)//差值大于0,返回1 { return 1; } else//差值小于0返回-1 { return -1; } return 0; } int main() { char irr[] = "abce"; const char jrr[] = "abcde"; const char* str1 = irr; const char* str2 = jrr; printf("%d\n", Mystrcmp(str1, str2));//返回1,str1大于str2 return 0; } 内置字符串追加/链接函数strcat int strcmp(const char *str1, const char *str2) 返回值判断字符串的大小关系 返回值大小关系< 0str1小于str20str1等于str2>0str1大于str2 #include<stdio.h> #include<string.h> int main() { char irr[] = "abce"; const char jrr[] = "abcde"; const char* str1 = irr; const char* str2 = jrr; printf("%d\n", strcmp(str1, str2));//返回1,str1大于str2 return 0; }