C语言如何比较两个【字符】或者【字符串】是否相等?迷糊了,求解答

 我来答
小周喜欢熬夜
高粉答主

2021-04-05 · 每个回答都超有意思的
知道大有可为答主
回答量:8789
采纳率:72%
帮助的人:215万
展开全部
1、字符串比较函数的函数原型为int strcmp(const char str1[ ],const char str2[ ]);

2、调用字符串比较函数时,该函数会对字符串str1和str2里的每个字符按照字符的ASCII码大小从左到右逐个进行比较,若遇到不同的字符或者遇到字符串结束符'\0'时,则停止比较;若所有比较的字符都相同,则str1与str2相等,否则根据第一次出现的不同字符,并根据字符的ASCII码值判定出比较结果

3、调用字符串比较函数时,传递给形参str1、str2的实参,既可以是字符数组名,也可以是字符串常量

4、调用字符串比较函数时,若函数返回值为正数,则str1>str2;若函数返回值负数,则str1<str2;若函数返回值为0,则str1=str2
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
stelvetica
2013-02-14
知道答主
回答量:41
采纳率:0%
帮助的人:21.3万
展开全部
先强制转换格式 然后比较
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
嗳尔yr
2018-03-30 · TA获得超过1万个赞
知道小有建树答主
回答量:88
采纳率:100%
帮助的人:3.4万
展开全部

C语言中用strcmp函数比较字符和字符串是否相等。

strcmp函数功能是比较两个字符串的大小,返回比较的结果。

函数形式:strcmp(str1,str2)

参数说明:str1,str2可以是字符串常量或变量。

结果说明:

①返回值小于0,说明str1小于str2。

②返回值等于0,说明str1与str2相等。

③返回值大于0,s说明str1大于str2。

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
乐意丶2
2018-06-14 · TA获得超过846个赞
知道答主
回答量:116
采纳率:100%
帮助的人:10万
展开全部

有一种递归的判断,判断字符串是否相等的递归定义如下:

如果都是空串,则相等

否则,如果一个是空串,另一个不是空串,则不相等

否则,此时串相等需满足两个串的第一个字符相等,并且还要满足两个串除去第一个字符后剩余的串也相等,两个串才相等,否则就不相等

设T和S都是串,T[index]表示某个串T的字符,如T=“123456”,则T[0] = '1'

代码如下:

bool IsEqual(const char *S,const char *T)
{//判断给定的两个字符串是否相同
    if(!S && !T)//如果都是空串,则相同
    {
        return true;
    }
    else if(!S&&T || !T&&S)//一者为空,另一者不空,则不相同
    {
        return false;
    }
    else
    {
        return S[0]==T[0] && IsEqual(S+1,T+1);//否则判断第一个字符和除去第一个
        //字符后剩余的字符串是否相同
        //剩余的字符串的参数要对好,S+1是字符串指针,同原来要一样
    }
}

这个嘛效率勉勉强强,事实上可以用循环来判断的,额嘛觉得太麻烦,留给楼主或其他人去想好了。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式