两个字符串进行比较,相等为0
字符串比较
strcmp 原型int strcmp(const chars1,const chars2)
若str1=str2,则返回零;
若str1<str2,则返回负数;
若str1>str2,则返回正数文章来源:https://www.toymoban.com/news/detail-634154.html
strncmp 原型int strncmp(const chars1,const chars2,size_t n)
功能是把str1和str2进行比较,最多比较前n个字节。
若str1和str2的前n个字符相同,则返回0
若s1>s2,则返回大于0的值;
若s1<s2,则返回小于0的值。文章来源地址https://www.toymoban.com/news/detail-634154.html
#include <stdio.h>
#include <string.h>
#include <assert.h>
int myStrcmp(char *str1, char *str2)
{
int ret = 0;
int n_str1 = 0;
int n_str2 = 0;
char *bakStr1 = str1;
char *bakStr2 = str2;
while( *str1 && *str2 && (*str1 == *str2)){
str1++;
str2++;
}
if(*str1 || *str2){
str1 = bakStr1;
str2 = bakStr2;
while(*str1){
n_str1 += *str1;
str1++;
}
while(*str2){
n_str2 += *str2;
str2++;
}
}
ret = n_str1 - n_str2;
if(ret < 0){
ret = -1;
}
if(ret > 0){
ret = 1;
}
return ret;
}
int main()
{
char *p1 = "gebillaowang";
char *p2 = "gebiilaowang";
int ret = myStrcmp(p1,p2);//-1 1 0
if(ret == 0){
puts("两个字符串一样");
}
printf("RET = %d\n",ret);
return 0;
}
到了这里,关于C语言--strcmp ,stmcmp(比较)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!