C语言如何比较两个【字符】或者【字符串】是否相等?迷糊了,求解答
9个回答
展开全部
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
2、调用字符串比较函数时,该函数会对字符串str1和str2里的每个字符按照字符的ASCII码大小从左到右逐个进行比较,若遇到不同的字符或者遇到字符串结束符'\0'时,则停止比较;若所有比较的字符都相同,则str1与str2相等,否则根据第一次出现的不同字符,并根据字符的ASCII码值判定出比较结果
3、调用字符串比较函数时,传递给形参str1、str2的实参,既可以是字符数组名,也可以是字符串常量
4、调用字符串比较函数时,若函数返回值为正数,则str1>str2;若函数返回值负数,则str1<str2;若函数返回值为0,则str1=str2
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
C语言中用strcmp函数比较字符和字符串是否相等。
strcmp函数功能是比较两个字符串的大小,返回比较的结果。
函数形式:strcmp(str1,str2)
参数说明:str1,str2可以是字符串常量或变量。
结果说明:
①返回值小于0,说明str1小于str2。
②返回值等于0,说明str1与str2相等。
③返回值大于0,s说明str1大于str2。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
有一种递归的判断,判断字符串是否相等的递归定义如下:
如果都是空串,则相等
否则,如果一个是空串,另一个不是空串,则不相等
否则,此时串相等需满足两个串的第一个字符相等,并且还要满足两个串除去第一个字符后剩余的串也相等,两个串才相等,否则就不相等
设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是字符串指针,同原来要一样
}
}
这个嘛效率勉勉强强,事实上可以用循环来判断的,额嘛觉得太麻烦,留给楼主或其他人去想好了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询