char s1[]=“hello” char s2[]={'h','e','l','l','o'};cout<<strcmp(s1,s2) 5
1个回答
展开全部
用法错误,strcmp只能比较以'\0'结尾的字符串,s2很明显不符合这个条件
至于是-1的原因,因为判断s2时会越界,造成读取到任何可能的值而s1第六位是0,s2第六位越界这个值一般不会为0的,所以结果是-1
以下是类似strcmp的实现代码,仅供参考
int strcmp(const char *dest, const char *source)
{
while (*dest && *source && (*dest == *source))
{
dest ++;
source ++;
}
return *dest - *source;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询