dat*_*ili -5 c string pointers
例如,假设一些k是任意数字= 2 k=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;
}
Run Code Online (Sandbox Code Playgroud)
请解释一下这段代码的用途?还有什么*p-*q意思呢?另外,它是如何在Java中实现的?
Osc*_*Ryz 25
请解释一下这段代码的作用是什么?
它比较了两个词
还有什么意思
*p-*q?
这意味着,告诉我指针p指向的char的值,并将其放在指针q指向的char上.
以及如何在java中实现它?
那*p-*q部分?就这个.
// char c
// char k
c - k;
Run Code Online (Sandbox Code Playgroud)
如果你的意思是整个功能,这可以帮助你开始:
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);
Run Code Online (Sandbox Code Playgroud)
您需要验证严格的限制.