C语言实现字符串大小与字符串比较的函数

C语言实现字符串比较(非库函数)

今天在keil上写代码时,使用strlen和strcmp一直会有警告,所以就有了下面的东西,自己写一个判断数组大小和字符数组比较的代码。仅供参考。keil对一些库函数的编译会一直有警告,作为一个写bug 的程序员,警告,不存在的。这辈子都不会让警告出现在我的代码里面。

代码

#include 
char flag=0;
int size_1=0;
int size_str(char * arr)//求字符串大小的函数
{
    size_1=0;
    while(*arr++!='\0')
        size_1++;
    return size_1;
}
char str_cmp(char * Str,char * Str1,char flag)
{
    flag=1;//flag要是从零开始,记录的则是数组的下标位置
    int size_str1=size_str(Str),size_str2=size_str(Str1);
    while((*Str++==*Str1++)&&((*Str!='\0')&&(*Str1!='\0')))//判断数组str1和str2相等或者有没有结束,
    {
        flag++;
        if(size_str1==size_str2)//如果数组大小相等,则判断两个数组相同元素的个数,如果相同元素的个数与数组大小相同,则两个数组相同
        {
            if(size_str1==flag)
            return 1;//相同返回1
        } 
        //else if((*Str=='\0')||(*Str1=='\0'))
        //break;
    }
    return 0;//其他情况返回0
}
int main()
{
    char str1[10]={"123456"};
    char str2[10]={"12345"};
    printf("%d\n%d\n",str_cmp(str1,str2,flag),size_str(str2));
    return 0;
}

你可能感兴趣的:(C语言,单片机,单片机,c语言)