函数说明:函数strcmp()是比较两个字符串 s 和 t 的大小。
Java函数:根据现有的函数,在下划线处添写,能给出详细的代码。目前。我对字符串的比较不理解。是不是要求s和t的长度一样?通过下面的函数可以完成,并正常运行intstrc...
Java 函数:根据现有的函数,在下划线处添写,能给出详细的代码。
目前。我对字符串的比较不理解。是不是要求s和t的长度一样?通过下面的函数可以完成,并正常运行
int strcmp(byte[] s,byte[] t){
int index=-1;
for(int i=0;i<s.length && i<t.length;i++){
if( __________________){
index = i;
break;
}
}
return __________________________ ;
} 展开
目前。我对字符串的比较不理解。是不是要求s和t的长度一样?通过下面的函数可以完成,并正常运行
int strcmp(byte[] s,byte[] t){
int index=-1;
for(int i=0;i<s.length && i<t.length;i++){
if( __________________){
index = i;
break;
}
}
return __________________________ ;
} 展开
展开全部
s[i]!=t[i]
index==-1? s.length-t.length : s[index]-t[index];
不需要一样长。index表示第一处不相等的地方。若为-1,说明比较的地方都相等,但某个串可能更长,此时只要比较长度即可,如果index!=-1说明在index前面的都相等,只比较index处即可。
index==-1? s.length-t.length : s[index]-t[index];
不需要一样长。index表示第一处不相等的地方。若为-1,说明比较的地方都相等,但某个串可能更长,此时只要比较长度即可,如果index!=-1说明在index前面的都相等,只比较index处即可。
追问
对于这类题,我有一点不明白。
举例:
byte[] s = {'a','w','z','x'}
byte[] t = {'a','b','c','d','e'}
有这么两个数组。在比较的时候第1个相等,那第2个不相等的时候,就可以判断 s大于t吗?
索引3及以后的就没必要去判断了??
用的是哪方面的知识??
不惜赐教!我会再加分!!!
追答
是的。不是用哪方面的知识,字符串的大小就是这么定义的。
就像英语词典里面单词的排序方式一样,排前面的就比后面的小。
在第一处不相等的地方,哪个串的字符大哪个串就大。
如果前面全相等但长度不等,哪个串长就哪个大。
否则两个串就相等。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询