编写函数实现strcmp( )函数功能

strcmp(字符串1,字符串2)

作用是比较字符串1和字符串2。两个字符串从左至右逐个字符比较(按照字符的ASCII码值的大小)(即减法比较),直到字符不同或者遇见’\0’为止

如果全部字符都相同,则返回值为0。如果不相同,则返回两个字符串中第一个不相同的字符的ASCII码值的差,即串1大于串2时函数值为正,否则为负

 

/*
strcmp(字符串1,字符串2)
作用是比较字符串1和字符串2。两个字符串从左至右逐个字符比较(按照字符的ASCII码值的大小)(即减法比较),
直到字符不同或者遇见’\0’为止
如果全部字符都相同,则返回值为0。
如果不相同,则返回两个字符串中第一个不相同的字符的ASCII码值的差,即串1大于串2时函数值为正,否则为负
*/
#include<stdio.h>
#include<stdlib.h>
#include<string.h>

int my_strcmp(char str1[], char str2[])
{
    int nNum1, nNum2;
    int value;
    nNum1 = strlen(str1);
    nNum2 = strlen(str2);
    if (nNum1 == nNum2)
    {
        for (int i = 0; i < nNum2; i++)
        {
            value = str1[i] - str2[i];
            if (value == 0)
            {
                return 0;
            }
            else if (value > 0)
            {
                return 1;
            }
            else
            {
                return -1;
            }
        }
    }
    else if (nNum1 > nNum2)
    {
        return 1;
    }
    return -1;
}

int main()
{
    int nNum1, nNum2;
    char strAry1[30] = "I like beijing";
    char strAry2[30] = "I like beijingm";

    nNum1 = my_strcmp(strAry1, strAry2);
    nNum2 = strcmp(strAry1, strAry2);

    system("pause");
    return 0;
}

 

posted on 2017-12-13 21:52  秋雨丶梧桐  阅读(2046)  评论(0编辑  收藏  举报

导航