找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2770|回復(fù): 0
收起左側(cè)

strcmp函數(shù)實(shí)現(xiàn)及簡單應(yīng)用

[復(fù)制鏈接]
ID:51090 發(fā)表于 2014-9-24 22:35 | 顯示全部樓層 |閱讀模式

//:Vc++6.0  String  strcmp函數(shù)
//功能:比較兩個(gè)字符串的大小
//參數(shù):str1 字符串1   str2 字符串2
//返回值:正確返回其差值   錯(cuò)誤返回 -65535
#include<stdio.h>

int strcmp (const char *str1, const char *str2);

int main ()
{
char *str1 = "hello";
//char *str2 = "hello"; //驗(yàn)證相等
//char *str2 = "helloo"; //驗(yàn)證小于
//char *str2 = "hell"; //驗(yàn)證大于
printf("val: %d\n", strcmp(str1, str2));

return 0;
}

int strcmp (const char *str1, const char *str2)
{
if (str1 == NULL || str2 == NULL)
{
perror("str1 or str2");
return -65535;
}

    while (*str1 != '\0' || *str2 != '\0')
    {
        if (*str1 != *str2)
        {
            return *str1 - *str2;
        }
        else
        {
            str1++;
            str2++;
        }
    }
    if (*str1 == '\0' && *str2 == '\0')
        return 0;
    if (*str1 != '\0' && *str2 == '\0')
        return *str1;
    if (*str1 == '\0' && *str2 != '\0')
        return -*str2;
}
//在vc++6.0中的運(yùn)行結(jié)果為: 0
// 111
// -111
//注:如果相等返回0 如果不等返回的是下一個(gè)字符的ASCII碼//~


回復(fù)

使用道具 舉報(bào)

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表