假设某个k
是任意数字=2k=2
,那么C中就有代码:
int wordcomp(char *p, char *q) {
int n = k;
for ( ; *p == *q ; p++, q++) {
if ( *p==0 && --n == 0 )
return 0;
}
return *p - *q;
}
请解释一下这段代码的作用是什么?另外,*p-*q
是什么意思?另外,它在Java中是如何实现的?
最佳答案
please explain me what does this code do?
它比较两个单词
also what means
*p-*q
?
这意味着,告诉我指针 p 所指向的 char 的值,并将其保留给指针 q 所指向的 char。
and also how implement it in java?
*p-*q
部分?就是这样。
// char c
// char k
c - k;
如果您指的是整个功能,这可以帮助您入门:
int wordcomp( String sp, String sq) {
int n = k; // I have no idea what is this for
int pi = 0, qi = 0;
for ( ; sp.charAt(pi) == sq.charAt(qi) ; pi++, qi++) {
if ( sp.length()==pi && --n == 0 )
return 0;
}
return sp.charAt(pi) - sq.charAt(qi);
您需要严格验证限制。
关于c - 请解释一下这个比较字符串的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2977219/